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 2018/01/03 14:49:28 UTC

[56/87] [abbrv] isis-site git commit: multi-version website now looks ok

http://git-wip-us.apache.org/repos/asf/isis-site/blob/d1d0f1b8/content/guides/ugvw/ugvw.html
----------------------------------------------------------------------
diff --git a/content/guides/ugvw/ugvw.html b/content/guides/ugvw/ugvw.html
index 0895e4a..d49ddf1 100644
--- a/content/guides/ugvw/ugvw.html
+++ b/content/guides/ugvw/ugvw.html
@@ -179,7 +179,6 @@ table.CodeRay td.code>pre{padding:0}
         <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> 
@@ -1072,7 +1071,7 @@ table.CodeRay td.code>pre{padding:0}
          <p>In implementing the <a href="http://en.wikipedia.org/wiki/Naked_objects">naked objects pattern</a>, Apache Isis aims to infer as much information from the domain classes as possible. Nevertheless, some metadata relating solely to the UI is inevitably required. This chapter describes how this is done both for domain objects using either annotations or using an associated layout file.</p> 
         </div> 
         <div class="paragraph"> 
-         <p>The chapter also describes how to customising which columns of associated objects appear in tables. The layout of application menu items is described in a <a href="#_ugvw_menubars-layout">separate chapter</a>.</p> 
+         <p>It also describes how to layout the application menu items (containing domain service' actions), as more well as more advanced topics such as customising which columns appear in tables.</p> 
         </div> 
         <div class="sect2"> 
          <h3 id="_ugvw_layout_annotation-based">3.1. Annotation-based Layout</h3>
@@ -1350,9 +1349,8 @@ table.CodeRay td.code>pre{padding:0}
          </div> 
          <div class="ulist"> 
           <ul> 
-           <li> <p>file-based layouts are not typesafe: a typo will result in the metadata not being picked up for the element.</p> </li> 
-           <li> <p>they suffer from syntactic fragility: an invalid XML document will result in no metadata for the entire class.</p> </li> 
-           <li> <p>there is no notion of inheritance, so a <code>.layout.xml</code> is required for all concrete classes and also for any abstract classes (if used as a collection type). In contrast, the dewey-decimal format <code>@MemberOrder</code> annotation allows the metadata of the subclass its superclasses to fit together relatively seamlessly.</p> </li> 
+           <li> <p>file-based layouts are not type: a typo will result in the metadata not being picked up for the element. They also suffer from syntactic fragility: an invalid XML document will result in no metadata for the entire class.</p> </li> 
+           <li> <p>there is no notion of inheritance, so a <code>.layout.xml</code> is required for all concrete classes and also for any abstract classes (if used as a collection type) In contrast, the dewey-decimal format <code>@MemberOrder</code> annotation allows the metadata of the subclass its superclasses to fit together relatively seamlessly.</p> </li> 
           </ul> 
          </div> 
          <div class="paragraph"> 
@@ -1521,7 +1519,7 @@ table.CodeRay td.code>pre{padding:0}
                <td class="icon"> <i class="fa icon-note" title="Note"></i> </td> 
                <td class="content"> 
                 <div class="paragraph"> 
-                 <p>The <code>&lt;fieldset&gt;</code>'s "name" attribute is optional. If omitted, then the title panel is suppressed, freeing more real estate.</p> 
+                 <p>(As of <code>1.15.0</code>) the <code>&lt;fieldset&gt;</code>'s "name" attribute is optional. If omitted, then the title panel is suppressed, freeing more real estate.</p> 
                 </div> 
                 <div class="paragraph"> 
                  <p>Do be aware though that if there are any actions that have been placed on the fieldset’s panel, then these <em>will <strong>not</strong> be displayed</em>.</p> 
@@ -1538,23 +1536,23 @@ table.CodeRay td.code>pre{padding:0}
            </div> 
            <div class="listingblock"> 
             <div class="content"> 
-             <pre class="CodeRay highlight"><code data-lang="xml"><span class="tag">&lt;bs3:tab</span> <span class="attribute-name">name</span>=<span class="string"><span class="delimiter">"</span><span class="content">Similar to</span><span class="delimiter">"</span></span><span class="tag">&gt;</span>
-    <span class="tag">&lt;bs3:row&gt;</span>
-        <span class="tag">&lt;bs3:col</span> <span class="attribute-name">span</span>=<span class="string"><span class="delimiter">"</span><span class="content">12</span><span class="delimiter">"</span></span><span class="tag">&gt;</span>
-            <span class="tag">&lt;c:collection</span> <span class="attribute-name">defaultView</span>=<span class="string"><span class="delimiter">"</span><span class="content">table</span><span class="delimiter">"</span></span> <span class="attribute-name">id</span>=<span class="string"><span class="delimiter">"</span><span class="content">similarTo</span><span class="delimiter">"</span></span><span class="tag">/&gt;</span>
-        <span class="tag">&lt;/bs3:col&gt;</span>
-    <span class="tag">&lt;/bs3:row&gt;</span>
-<span class="tag">&lt;/bs3:tab&gt;</span>
-<span class="tag">&lt;bs3:tab</span> <span class="attribute-name">name</span>=<span class="string"><span class="delimiter">"</span><span class="content">Dependencies</span><span class="delimiter">"</span></span><span class="tag">&gt;</span>
-    <span class="tag">&lt;bs3:row&gt;</span>
-        <span class="tag">&lt;bs3:col</span> <span class="attribute-name">span</span>=<span class="string"><span class="delimiter">"</span><span class="content">12</span><span class="delimiter">"</span></span><span class="tag">&gt;</span>
-            <span class="tag">&lt;c:collection</span> <span class="attribute-name">defaultView</span>=<span class="string"><span class="delimiter">"</span><span class="content">table</span><span class="delimiter">"</span></span> <span class="attribute-name">id</span>=<span class="string"><span class="delimiter">"</span><span class="content">dependencies</span><span class="delimiter">"</span></span><span class="tag">&gt;</span>
-                <span class="tag">&lt;c:action</span> <span class="attribute-name">id</span>=<span class="string"><span class="delimiter">"</span><span class="content">add</span><span class="delimiter">"</span></span><span class="tag">/&gt;</span>
-                <span class="tag">&lt;c:action</span> <span class="attribute-name">id</span>=<span class="string"><span class="delimiter">"</span><span class="content">remove</span><span class="delimiter">"</span></span><span class="tag">/&gt;</span>
-            <span class="tag">&lt;/c:collection&gt;</span>
-        <span class="tag">&lt;/bs3:col&gt;</span>
-    <span class="tag">&lt;/bs3:row&gt;</span>
-<span class="tag">&lt;/bs3:tab&gt;</span></code></pre> 
+             <pre class="CodeRay highlight"><code data-lang="xml">                <span class="tag">&lt;bs3:tab</span> <span class="attribute-name">name</span>=<span class="string"><span class="delimiter">"</span><span class="content">Similar to</span><span class="delimiter">"</span></span><span class="tag">&gt;</span>
+                    <span class="tag">&lt;bs3:row&gt;</span>
+                        <span class="tag">&lt;bs3:col</span> <span class="attribute-name">span</span>=<span class="string"><span class="delimiter">"</span><span class="content">12</span><span class="delimiter">"</span></span><span class="tag">&gt;</span>
+                            <span class="tag">&lt;c:collection</span> <span class="attribute-name">defaultView</span>=<span class="string"><span class="delimiter">"</span><span class="content">table</span><span class="delimiter">"</span></span> <span class="attribute-name">id</span>=<span class="string"><span class="delimiter">"</span><span class="content">similarTo</span><span class="delimiter">"</span></span><span class="tag">/&gt;</span>
+                        <span class="tag">&lt;/bs3:col&gt;</span>
+                    <span class="tag">&lt;/bs3:row&gt;</span>
+                <span class="tag">&lt;/bs3:tab&gt;</span>
+                <span class="tag">&lt;bs3:tab</span> <span class="attribute-name">name</span>=<span class="string"><span class="delimiter">"</span><span class="content">Dependencies</span><span class="delimiter">"</span></span><span class="tag">&gt;</span>
+                    <span class="tag">&lt;bs3:row&gt;</span>
+                        <span class="tag">&lt;bs3:col</span> <span class="attribute-name">span</span>=<span class="string"><span class="delimiter">"</span><span class="content">12</span><span class="delimiter">"</span></span><span class="tag">&gt;</span>
+                            <span class="tag">&lt;c:collection</span> <span class="attribute-name">defaultView</span>=<span class="string"><span class="delimiter">"</span><span class="content">table</span><span class="delimiter">"</span></span> <span class="attribute-name">id</span>=<span class="string"><span class="delimiter">"</span><span class="content">dependencies</span><span class="delimiter">"</span></span><span class="tag">&gt;</span>
+                                <span class="tag">&lt;c:action</span> <span class="attribute-name">id</span>=<span class="string"><span class="delimiter">"</span><span class="content">add</span><span class="delimiter">"</span></span><span class="tag">/&gt;</span>
+                                <span class="tag">&lt;c:action</span> <span class="attribute-name">id</span>=<span class="string"><span class="delimiter">"</span><span class="content">remove</span><span class="delimiter">"</span></span><span class="tag">/&gt;</span>
+                            <span class="tag">&lt;/c:collection&gt;</span>
+                        <span class="tag">&lt;/bs3:col&gt;</span>
+                    <span class="tag">&lt;/bs3:row&gt;</span>
+                <span class="tag">&lt;/bs3:tab&gt;</span></code></pre> 
             </div> 
            </div> 
            <div class="paragraph"> 
@@ -1839,140 +1837,43 @@ table.CodeRay td.code>pre{padding:0}
          </div> 
         </div> 
         <div class="sect2"> 
-         <h3 id="_ugvw_layout_table-columns">3.3. Table Columns</h3>
+         <h3 id="_ugvw_layout_application-menu">3.3. Application Menu Layout</h3>
          <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/ugvw/_ugvw_layout_table-columns.adoc&quot;"><i class="fa fa-pencil-square-o"></i>&nbsp;Edit</button>
+          <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/ugvw/_ugvw_layout_application-menu.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/ugvw/_ugvw_layout_table-columns.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/ugvw/_ugvw_layout_table-columns.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/ugvw/_ugvw_layout_table-columns.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/ugvw/_ugvw_layout_table-columns.adoc" target="_blank"><i class="fa fa-hand-o-right fa-fw" aria-hidden="true"></i>&nbsp; Blame</a></li>
+           <li><a href="https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/ugvw/_ugvw_layout_application-menu.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/ugvw/_ugvw_layout_application-menu.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/ugvw/_ugvw_layout_application-menu.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/ugvw/_ugvw_layout_application-menu.adoc" target="_blank"><i class="fa fa-hand-o-right fa-fw" aria-hidden="true"></i>&nbsp; Blame</a></li>
           </ul>
          </div> 
          <div class="paragraph"> 
-          <p>The optional <a href="../rgsvc/rgsvc.html#_rgsvc_presentation-layer-spi_TableColumnOrderService"><code>TableColumnOrderService</code></a> SPI service can be used to reorder columns in a table, either for a parented collection (owned by parent domain object) or a standalone collection (returned from an action invocation).</p> 
+          <p>The actions of domain services are made available as an application menu bar. By default each domain service corresponds to a single menu on this menu bar, with its actions as the drop-down menu items. This is rarely exactly what is required, however. The <code>@MemberOrder</code> and <code>@DomainServiceLayout</code> annotations can be used to rearrange the placement of menu items.</p> 
          </div> 
          <div class="paragraph"> 
-          <p>For example, suppose there is a <code>Customer</code> and an <code>Order</code>:</p> 
+          <p>The screenshots below are taken from <a href="http://github.com/estatio/estatio">Estatio</a>, an open source estate management application built using Apache Isis.</p> 
          </div> 
-         <div class="imageblock"> 
-          <div class="content"> 
-           <img src="images/layouts/customer-order.png" alt="customer order" width="108" height="248"> 
+         <div class="sect3"> 
+          <h4 id="__domainservicelayout">3.3.1. @DomainServiceLayout</h4> 
+          <div class="paragraph"> 
+           <p>Menus for domain services can be placed either on a primary, secondary or tertiary menu bar.</p> 
           </div> 
-         </div> 
-         <div class="paragraph"> 
-          <p>The order of these properties of <code>Order</code>, when rendered in the context of its owning <code>Customer</code>, can be controlled using this implementation of <code>TableColumnOrderService</code>:</p> 
-         </div> 
-         <div class="listingblock"> 
-          <div class="content"> 
-           <pre class="CodeRay highlight"><code data-lang="java"><span class="annotation">@DomainService</span>(
-    nature = NatureOfService.DOMAIN,
-    menuOrder = <span class="string"><span class="delimiter">"</span><span class="content">100</span><span class="delimiter">"</span></span>                               <i class="conum" data-value="1"></i><b>(1)</b>
-)
-<span class="directive">public</span> <span class="type">class</span> <span class="class">TableColumnOrderServiceForCustomerOrders</span>
-                 <span class="directive">implements</span> TableColumnOrderService {
-    <span class="directive">public</span> <span class="predefined-type">List</span>&lt;<span class="predefined-type">String</span>&gt; orderParented(
-            <span class="directive">final</span> <span class="predefined-type">Object</span> parent,
-            <span class="directive">final</span> <span class="predefined-type">String</span> collectionId,
-            <span class="directive">final</span> <span class="predefined-type">Class</span>&lt;?&gt; collectionType,
-            <span class="directive">final</span> <span class="predefined-type">List</span>&lt;<span class="predefined-type">String</span>&gt; propertyIds) {
-        <span class="keyword">return</span> parent <span class="keyword">instanceof</span> Customer &amp;&amp; <span class="string"><span class="delimiter">"</span><span class="content">orders</span><span class="delimiter">"</span></span>.equals(collectionId)
-             ? <span class="predefined-type">Arrays</span>.asList(<span class="string"><span class="delimiter">"</span><span class="content">num</span><span class="delimiter">"</span></span>, <span class="string"><span class="delimiter">"</span><span class="content">placedOn</span><span class="delimiter">"</span></span>, <span class="string"><span class="delimiter">"</span><span class="content">state</span><span class="delimiter">"</span></span>, <span class="string"><span class="delimiter">"</span><span class="content">shippedOn</span><span class="delimiter">"</span></span>)
-             : <span class="predefined-constant">null</span>;
-    }
-    <span class="directive">public</span> <span class="predefined-type">List</span>&lt;<span class="predefined-type">String</span>&gt; orderStandalone(
-            <span class="directive">final</span> <span class="predefined-type">Class</span>&lt;?&gt; collectionType,
-            <span class="directive">final</span> <span class="predefined-type">List</span>&lt;<span class="predefined-type">String</span>&gt; propertyIds) {
-        <span class="keyword">return</span> <span class="predefined-constant">null</span>;
-    }
-}</code></pre> 
+          <div class="imageblock"> 
+           <div class="content"> 
+            <a class="image" href="images/application-menu/layout-menus.png"><img src="images/application-menu/layout-menus.png" alt="layout menus" width="800px"></a> 
+           </div> 
+          </div> 
+          <div class="paragraph"> 
+           <p>Within a single top-level menu (eg "Fixed Assets") there can be actions from multiple services. The Wicket viewer automatically adds a divider between each:</p> 
+          </div> 
+          <div class="imageblock"> 
+           <div class="content"> 
+            <a class="image" href="images/application-menu/dividers.png"><img src="images/application-menu/dividers.png" alt="dividers" width="400px"></a> 
+           </div> 
           </div> 
-         </div> 
-         <div class="colist arabic"> 
-          <table> 
-           <tbody>
-            <tr> 
-             <td><i class="conum" data-value="1"></i><b>1</b></td> 
-             <td>specifies the order in which the <code>TableColumnOrderService</code> implementations are called.</td> 
-            </tr> 
-           </tbody>
-          </table> 
-         </div> 
-        </div> 
-       </div> 
-      </div> 
-      <div class="sect1"> 
-       <h2 id="_ugvw_menubars-layout">4. Menu Bars Layout</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/ugvw/_ugvw_menubars-layout.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/ugvw/_ugvw_menubars-layout.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/ugvw/_ugvw_menubars-layout.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/ugvw/_ugvw_menubars-layout.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/ugvw/_ugvw_menubars-layout.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>The actions of domain services are made available as menu items on menus. By default each domain service corresponds to a single menu on this menu bar, with its actions as the drop-down menu items. This is rarely exactly what is required, however; it often makes sense to group menu items for similar domain services together.</p> 
-        </div> 
-        <div class="paragraph"> 
-         <p>For example, the (non-ASF) <a href="http://platform.incode.org" target="_blank">Incode Platform</a> modules provides services whose actions appear into two top-level menus:</p> 
-        </div> 
-        <div class="ulist"> 
-         <ul> 
-          <li> <p>its <code>ApplicationUsers</code>, <code>ApplicationRoles</code>, <code>ApplicationPermission</code>, <code>ApplicationFeatureViewModels</code> and <code>ApplicationTenancies</code> domain services are all grouped together in a single "Security" top-level menu, on the SECONDARY menu bar</p> </li> 
-          <li> <p>its <code>MeService</code> domain service, which provides the <code>me()</code> action, is placed on the TERTIARY menu bar.</p> </li> 
-         </ul> 
-        </div> 
-        <div class="paragraph"> 
-         <p>The menus themselves can be placed either on a primary, secondary or tertiary menu bar, as shown in this screenshot (taken from <a href="http://github.com/estatio/estatio">Estatio</a>, an open source estate management application built using Apache Isis):</p> 
-        </div> 
-        <div class="imageblock"> 
-         <div class="content"> 
-          <a class="image" href="images/application-menu/layout-menus.png"><img src="images/application-menu/layout-menus.png" alt="layout menus" width="800px"></a> 
-         </div> 
-        </div> 
-        <div class="paragraph"> 
-         <p>Within a single top-level menu (eg "Fixed Assets") there can be actions from multiple services. The Wicket viewer shows these as separate sections, with a divider between each:</p> 
-        </div> 
-        <div class="imageblock"> 
-         <div class="content"> 
-          <a class="image" href="images/application-menu/dividers.png"><img src="images/application-menu/dividers.png" alt="dividers" width="400px"></a> 
-         </div> 
-        </div> 
-        <div class="paragraph"> 
-         <p>The tertiary menu bar consists of a single unnamed menu, rendered underneath the user’s login, top right. This is intended primarily for actions pertaining to the user themselves, eg their account, profile or settings:</p> 
-        </div> 
-        <div class="imageblock"> 
-         <div class="content"> 
-          <a class="image" href="images/application-menu/tertiary.png"><img src="images/application-menu/tertiary.png" alt="tertiary" width="300px"></a> 
-         </div> 
-        </div> 
-        <div class="paragraph"> 
-         <p>The Apache Isis framework provides two mechanisms to control the arrangement of domain service actions across menubars and menus, either using annotations or (as of <code>1.16.0-SNAPSHOT</code>) using a file-based layout.</p> 
-        </div> 
-        <div class="sect2"> 
-         <h3 id="_ugvw_menubars-layout_annotation-based">4.1. Annotation-based Menu Bars</h3>
-         <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/ugvw/_ugvw_menubars-layout_annotation-based.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/ugvw/_ugvw_menubars-layout_annotation-based.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/ugvw/_ugvw_menubars-layout_annotation-based.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/ugvw/_ugvw_menubars-layout_annotation-based.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/ugvw/_ugvw_menubars-layout_annotation-based.adoc" target="_blank"><i class="fa fa-hand-o-right fa-fw" aria-hidden="true"></i>&nbsp; Blame</a></li>
-          </ul>
-         </div> 
-         <div class="paragraph"> 
-          <p>The annotations-based approach for arranging the placement of menu items is achieved through the <a href="../rgant/rgant.html#_rgant-MemberOrder"><code>@MemberOrder</code></a> and <a href="../rgant/rgant.html#_rgant-DomainServiceLayout"><code>@DomainServiceLayout</code></a> annotations.</p> 
-         </div> 
-         <div class="sect3"> 
-          <h4 id="__domainservicelayout">4.1.1. @DomainServiceLayout</h4> 
           <div class="paragraph"> 
-           <p>In the example from Estatio shown above the top-level menu combines the actions from the <code>Properties</code>, <code>Units</code> and <code>FixedAssetRegistrations</code> services. The <code>Properties</code> service is annotated:</p> 
+           <p>In the example above the top-level menu combines the actions from the <code>Properties</code>, <code>Units</code> and <code>FixedAssetRegistrations</code> services. The <code>Properties</code> service is annotated:</p> 
           </div> 
           <div class="listingblock"> 
            <div class="content"> 
@@ -2040,7 +1941,7 @@ table.CodeRay td.code>pre{padding:0}
           </div> 
          </div> 
          <div class="sect3"> 
-          <h4 id="_ordering_menu_actions">4.1.2. Ordering menu actions</h4> 
+          <h4 id="_ordering_menu_actions">3.3.2. Ordering menu actions</h4> 
           <div class="paragraph"> 
            <p>For a given service, the actions within a section on a menu is determined by the <code>@MemberOrder</code> annotation. Thus, for the <code>Units</code> domain service, its actions are annotated:</p> 
           </div> 
@@ -2064,14 +1965,22 @@ table.CodeRay td.code>pre{padding:0}
           <div class="paragraph"> 
            <p>Note that the last is also a prototype action (meaning it is only displayed in SERVER_PROTOTYPE (=Wicket Development) mode). In the UI it is rendered in italics.</p> 
           </div> 
+          <div class="paragraph"> 
+           <p>(It is possible to override this place of a given action by specifying <code>@MemberOrder(name="…​")</code> where the name is that of a top-level menu. Prior to <code>1.8.0</code> this was the only way of doing things, as of <code>1.8.0</code> its use is not recommended).</p> 
+          </div> 
          </div> 
          <div class="sect3"> 
-          <h4 id="_tertiary_menu">4.1.3. Tertiary Menu</h4> 
+          <h4 id="_tertiary_menubar">3.3.3. Tertiary menubar</h4> 
           <div class="paragraph"> 
-           <p>Domain services' actions can be associated with the tertiary menu using the same <code>@DomainServiceLayout</code> annotation, but be aware that the <code>@DomainServiceLayout#name()</code> attribute will be ignored (there is only one effective menu).</p> 
+           <p>The tertiary menu bar consists of a single unnamed menu, rendered underneath the user’s login, top right. This is intended primarily for actions pertaining to the user themselves, eg their account, profile or settings:</p> 
+          </div> 
+          <div class="imageblock"> 
+           <div class="content"> 
+            <a class="image" href="images/application-menu/tertiary.png"><img src="images/application-menu/tertiary.png" alt="tertiary" width="300px"></a> 
+           </div> 
           </div> 
           <div class="paragraph"> 
-           <p>For example, the <code>updateEpochDate(…​)</code> and <code>listAllSettings(…​)</code> actions come from the following service:</p> 
+           <p>Domain services' actions can be associated with the tertiary menu using the same <code>@DomainServiceLayout</code> annotation. For example, the <code>updateEpochDate(…​)</code> and <code>listAllSettings(…​)</code> actions come from the following service:</p> 
           </div> 
           <div class="listingblock"> 
            <div class="content"> 
@@ -2094,142 +2003,91 @@ table.CodeRay td.code>pre{padding:0}
            <p>Because the number of items on the tertiary menu is expected to be small and most will pertain to the current user, the viewer does <em>not</em> place dividers between actions from different services on the tertiary menu.</p> 
           </div> 
          </div> 
+         <div class="sect3"> 
+          <h4 id="_incode_platform_modules">3.3.4. Incode Platform modules</h4> 
+          <div class="paragraph"> 
+           <p>Some of the (non-ASF) <a href="http://platform.incode.org" target="_blank">Incode Platform</a> modules also provide services whose actions appear in top-level menus.</p> 
+          </div> 
+          <div class="paragraph"> 
+           <p>The security’s module places its domain service menus in three top-level menus:</p> 
+          </div> 
+          <div class="ulist"> 
+           <ul> 
+            <li> <p>its <code>ApplicationUsers</code>, <code>ApplicationRoles</code>, <code>ApplicationPermission</code>, <code>ApplicationFeatureViewModels</code> and <code>ApplicationTenancies</code> domain services are all grouped together in a single "Security" top-level menu, on the SECONDARY menu bar</p> </li> 
+            <li> <p>its <code>MeService</code> domain service, which provides the <code>me()</code> action, is placed on the TERTIARY menu bar.</p> </li> 
+           </ul> 
+          </div> 
+          <div class="paragraph"> 
+           <p>Currently there is no facility to alter the placement of these services. However, their UI can be suppressed using security or using a <a href="../ugbtb/ugbtb.html#_ugbtb_hints-and-tips_vetoing-visibility">vetoing subscriber</a>.</p> 
+          </div> 
+         </div> 
         </div> 
         <div class="sect2"> 
-         <h3 id="_ugvw_menubars-layout_file-based">4.2. File-based Menu Bars (<code>1.16.0-SNAPSHOT</code>)</h3>
+         <h3 id="_ugvw_layout_table-columns">3.4. Table Columns</h3>
          <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/ugvw/_ugvw_menubars-layout_file-based.adoc&quot;"><i class="fa fa-pencil-square-o"></i>&nbsp;Edit</button>
+          <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/ugvw/_ugvw_layout_table-columns.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/ugvw/_ugvw_menubars-layout_file-based.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/ugvw/_ugvw_menubars-layout_file-based.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/ugvw/_ugvw_menubars-layout_file-based.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/ugvw/_ugvw_menubars-layout_file-based.adoc" target="_blank"><i class="fa fa-hand-o-right fa-fw" aria-hidden="true"></i>&nbsp; Blame</a></li>
+           <li><a href="https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/ugvw/_ugvw_layout_table-columns.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/ugvw/_ugvw_layout_table-columns.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/ugvw/_ugvw_layout_table-columns.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/ugvw/_ugvw_layout_table-columns.adoc" target="_blank"><i class="fa fa-hand-o-right fa-fw" aria-hidden="true"></i>&nbsp; Blame</a></li>
           </ul>
          </div> 
          <div class="paragraph"> 
-          <p>(As of <code>1.16.0-SNAPSHOT</code>) the domain service actions can be arranged across menu items using the <code>menubars.layout.xml</code> file. Not only is this easier to work with, it also can be reloaded dynamically (if in prototype mode), substantially redu.</p> 
-         </div> 
-         <div class="paragraph"> 
-          <p>As for <a href="#_ugvw_layout_file-based">file-based object layouts</a>, this offers a number of benefits:</p> 
-         </div> 
-         <div class="ulist"> 
-          <ul> 
-           <li> <p>Probably most significantly, the layout can be updated without requiring a recompile of the code and redeploy of the app; fine-tuning the layout with your end users is easy to do</p> </li> 
-           <li> <p>Many developers also find it easier to rationalize about menu bars layout when all the hints are collated together in a single place (rather than scattered across the domain service classes as annotations).</p> </li> 
-          </ul> 
+          <p>The optional <a href="../rgsvc/rgsvc.html#_rgsvc_presentation-layer-spi_TableColumnOrderService"><code>TableColumnOrderService</code></a> SPI service can be used to reorder columns in a table, either for a parented collection (owned by parent domain object) or a standalone collection (returned from an action invocation).</p> 
          </div> 
          <div class="paragraph"> 
-          <p>There are some disadvantages to using file-based layouts:</p> 
+          <p>For example, suppose there is a <code>Customer</code> and an <code>Order</code>:</p> 
          </div> 
-         <div class="ulist"> 
-          <ul> 
-           <li> <p>file-based layouts are not typesafe: a typo will result in the metadata not being picked up for the element.</p> </li> 
-           <li> <p>they also suffer from syntactic fragility: an invalid XML document will result in no metadata for the entire class.</p> </li> 
-          </ul> 
+         <div class="imageblock"> 
+          <div class="content"> 
+           <img src="images/layouts/customer-order.png" alt="customer order" width="108" height="248"> 
+          </div> 
          </div> 
          <div class="paragraph"> 
-          <p>The <code>menubars.layout.xml</code> file is just the serialized form of a <a href="../rgcms/rgcms.html#_rgcms_classes_layout"><code>MenuBars</code></a> layout class defined within Apache Isis' applib. These are JAXB-annotated classes with corresponding XSD schemas; the upshot of that is that IDEs such as IntelliJ and Eclipse can provide "intellisense", making it easy to author such layout files.</p> 
+          <p>The order of these properties of <code>Order</code>, when rendered in the context of its owning <code>Customer</code>, can be controlled using this implementation of <code>TableColumnOrderService</code>:</p> 
          </div> 
-         <div class="sect3"> 
-          <h4 id="_obtaining_an_initial_layout">4.2.1. Obtaining an initial layout</h4> 
-          <div class="paragraph"> 
-           <p>An initial <code>menubars.layout.xml</code> - capturing any existing metadata either implicit or explicitly specified through annotations can be downloaded from the <a href="../rgsvc/rgsvc.html#_rgsvc_metadata-api_MenuBarsService"><code>MenuBarsService</code></a> (exposed on the prototyping menu):</p> 
-          </div> 
-          <div class="imageblock"> 
-           <div class="content"> 
-            <a class="image" href="images//menubars/010-download.png"><img src="images//menubars/010-download.png" alt="010 download" width="300px"></a> 
-           </div> 
-          </div> 
-          <div class="paragraph"> 
-           <p>This action allows either the "Default" or the "Fallback" layout to be downloaded.</p> 
-          </div> 
-          <div class="imageblock"> 
-           <div class="content"> 
-            <a class="image" href="images//menubars/020-download.png"><img src="images//menubars/020-download.png" alt="020 download" width="400px"></a> 
-           </div> 
-          </div> 
-          <div class="paragraph"> 
-           <p>The "Default" layout is that currently in use, while the "Fallback" layout is that provided only from the annotations. Initially these are identical.</p> 
-          </div> 
-          <div class="paragraph"> 
-           <p>For example, here’s a fragment of that provided by the simpleapp archetype:</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" standalone="yes"?&gt;</span>
-<span class="tag">&lt;mb3:menuBars</span>
-    <span class="attribute-name">xsi:schemaLocation</span>=<span class="string"><span class="delimiter">"</span><span class="content">...</span><span class="delimiter">"</span></span>
-    <span class="attribute-name">xmlns:cpt</span>=<span class="string"><span class="delimiter">"</span><span class="content">http://isis.apache.org/applib/layout/component</span><span class="delimiter">"</span></span>
-    <span class="attribute-name">xmlns:lnk</span>=<span class="string"><span class="delimiter">"</span><span class="content">http://isis.apache.org/applib/layout/links</span><span class="delimiter">"</span></span>
-    <span class="attribute-name">xmlns:mb3</span>=<span class="string"><span class="delimiter">"</span><span class="content">http://isis.apache.org/applib/layout/menubars/bootstrap3</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="tag">&gt;</span>
-    <span class="tag">&lt;mb3:primary&gt;</span>
-        <span class="tag">&lt;mb3:menu&gt;</span>
-            <span class="tag">&lt;mb3:named&gt;</span>Simple Objects<span class="tag">&lt;/mb3:named&gt;</span>
-            <span class="tag">&lt;mb3:section&gt;</span>
-                <span class="tag">&lt;mb3:serviceAction</span> <span class="attribute-name">objectType</span>=<span class="string"><span class="delimiter">"</span><span class="content">simple.SimpleObjectMenu</span><span class="delimiter">"</span></span> <span class="attribute-name">id</span>=<span class="string"><span class="delimiter">"</span><span class="content">listAll</span><span class="delimiter">"</span></span><span class="tag">&gt;</span>
-                    <span class="tag">&lt;cpt:named&gt;</span>List All<span class="tag">&lt;/cpt:named&gt;</span>
-                <span class="tag">&lt;/mb3:serviceAction&gt;</span>
-                <span class="tag">&lt;mb3:serviceAction</span> <span class="attribute-name">objectType</span>=<span class="string"><span class="delimiter">"</span><span class="content">simple.SimpleObjectMenu</span><span class="delimiter">"</span></span> <span class="attribute-name">id</span>=<span class="string"><span class="delimiter">"</span><span class="content">findByName</span><span class="delimiter">"</span></span><span class="tag">&gt;</span>
-                    <span class="tag">&lt;cpt:named&gt;</span>Find By Name<span class="tag">&lt;/cpt:named&gt;</span>
-                <span class="tag">&lt;/mb3:serviceAction&gt;</span>
-                <span class="tag">&lt;mb3:serviceAction</span> <span class="attribute-name">objectType</span>=<span class="string"><span class="delimiter">"</span><span class="content">simple.SimpleObjectMenu</span><span class="delimiter">"</span></span> <span class="attribute-name">id</span>=<span class="string"><span class="delimiter">"</span><span class="content">create</span><span class="delimiter">"</span></span><span class="tag">&gt;</span>
-                    <span class="tag">&lt;cpt:named&gt;</span>Create<span class="tag">&lt;/cpt:named&gt;</span>
-                <span class="tag">&lt;/mb3:serviceAction&gt;</span>
-            <span class="tag">&lt;/mb3:section&gt;</span>
-        <span class="tag">&lt;/mb3:menu&gt;</span>
-        <span class="tag">&lt;mb3:menu</span> <span class="attribute-name">unreferencedActions</span>=<span class="string"><span class="delimiter">"</span><span class="content">true</span><span class="delimiter">"</span></span><span class="tag">&gt;</span>
-            <span class="tag">&lt;mb3:named&gt;</span>Other<span class="tag">&lt;/mb3:named&gt;</span>
-        <span class="tag">&lt;/mb3:menu&gt;</span>
-    <span class="tag">&lt;/mb3:primary&gt;</span>
-    <span class="tag">&lt;mb3:secondary&gt;</span>
-        <span class="tag">&lt;mb3:menu&gt;</span>
-            <span class="tag">&lt;mb3:named&gt;</span>Prototyping<span class="tag">&lt;/mb3:named&gt;</span>
-            ...
-    <span class="tag">&lt;/mb3:secondary&gt;</span>
-    <span class="tag">&lt;mb3:tertiary&gt;</span>
-        <span class="tag">&lt;mb3:menu&gt;</span>
-            ...
-        <span class="tag">&lt;/mb3:menu&gt;</span>
-    <span class="tag">&lt;/mb3:tertiary&gt;</span>
-<span class="tag">&lt;/mb3:menuBars&gt;</span></code></pre> 
-           </div> 
-          </div> 
-          <div class="paragraph"> 
-           <p>Note the "Other" menu, with <code>unreferencedActions</code> attribute set to <code>true</code>. For a layout file to be valid there must be exactly one <code>&lt;menu&gt;</code> with this attribute set. Any domain service actions that are not explicitly listed will be placed under this menu.</p> 
+         <div class="listingblock"> 
+          <div class="content"> 
+           <pre class="CodeRay highlight"><code data-lang="java"><span class="annotation">@DomainService</span>(
+    nature = NatureOfService.DOMAIN,
+    menuOrder = <span class="string"><span class="delimiter">"</span><span class="content">100</span><span class="delimiter">"</span></span>                               <i class="conum" data-value="1"></i><b>(1)</b>
+)
+<span class="directive">public</span> <span class="type">class</span> <span class="class">TableColumnOrderServiceForCustomerOrders</span>
+                 <span class="directive">implements</span> TableColumnOrderService {
+    <span class="directive">public</span> <span class="predefined-type">List</span>&lt;<span class="predefined-type">String</span>&gt; orderParented(
+            <span class="directive">final</span> <span class="predefined-type">Object</span> parent,
+            <span class="directive">final</span> <span class="predefined-type">String</span> collectionId,
+            <span class="directive">final</span> <span class="predefined-type">Class</span>&lt;?&gt; collectionType,
+            <span class="directive">final</span> <span class="predefined-type">List</span>&lt;<span class="predefined-type">String</span>&gt; propertyIds) {
+        <span class="keyword">return</span> parent <span class="keyword">instanceof</span> Customer &amp;&amp; <span class="string"><span class="delimiter">"</span><span class="content">orders</span><span class="delimiter">"</span></span>.equals(collectionId)
+             ? <span class="predefined-type">Arrays</span>.asList(<span class="string"><span class="delimiter">"</span><span class="content">num</span><span class="delimiter">"</span></span>, <span class="string"><span class="delimiter">"</span><span class="content">placedOn</span><span class="delimiter">"</span></span>, <span class="string"><span class="delimiter">"</span><span class="content">state</span><span class="delimiter">"</span></span>, <span class="string"><span class="delimiter">"</span><span class="content">shippedOn</span><span class="delimiter">"</span></span>)
+             : <span class="predefined-constant">null</span>;
+    }
+    <span class="directive">public</span> <span class="predefined-type">List</span>&lt;<span class="predefined-type">String</span>&gt; orderStandalone(
+            <span class="directive">final</span> <span class="predefined-type">Class</span>&lt;?&gt; collectionType,
+            <span class="directive">final</span> <span class="predefined-type">List</span>&lt;<span class="predefined-type">String</span>&gt; propertyIds) {
+        <span class="keyword">return</span> <span class="predefined-constant">null</span>;
+    }
+}</code></pre> 
           </div> 
          </div> 
-         <div class="sect3"> 
-          <h4 id="_adjusting_the_layout">4.2.2. Adjusting the layout</h4> 
-          <div class="paragraph"> 
-           <p>The downloaded <code>menubars.layout.xml</code> file can be adjusted as necessary, creating new menus and menu sections. Once done, it can be saved in the same package as the <code>AppManifest</code> used to bootstrap the application. Subsequently, the file is then parsed and used when the application is started.</p> 
-          </div> 
-          <div class="paragraph"> 
-           <p>If running in prototype mode, the file will be dynamically reloaded from the classpath.</p> 
-          </div> 
-          <div class="paragraph"> 
-           <p>Once the application has bootstrapped with a layout file, downloading the "Default" layout (from the prototyping menu) in essence just returns this file.</p> 
-          </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>If, when the application is run, unwanted service actions are shown in the "Other" menu (which you would like to place elsewhere), then download the "Default" layout again. The downloaded file will list out all these domain service actions, so that they can easily be moved elsewhere.</p> 
-               </div> </td> 
-             </tr> 
-            </tbody>
-           </table> 
-          </div> 
+         <div class="colist arabic"> 
+          <table> 
+           <tbody>
+            <tr> 
+             <td><i class="conum" data-value="1"></i><b>1</b></td> 
+             <td>specifies the order in which the <code>TableColumnOrderService</code> implementations are called.</td> 
+            </tr> 
+           </tbody>
+          </table> 
          </div> 
         </div> 
        </div> 
       </div> 
       <div class="sect1"> 
-       <h2 id="_ugvw_configuration-properties">5. Configuration Properties</h2>
+       <h2 id="_ugvw_configuration-properties">4. Configuration Properties</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/ugvw/_ugvw_configuration-properties.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>
@@ -2623,7 +2481,7 @@ table.CodeRay td.code>pre{padding:0}
            <td class="tableblock halign-left valign-top">
             <div>
              <div class="paragraph"> 
-              <p><code>isis.viewer.wicket.</code><br> <code>replaceDisabledTag</code>-<br> <code>WithReadonlyTag</code></p> 
+              <p><code>isis.viewer.wicket.</code><br> <code>replaceDisabledTagWithReadonlyTag</code></p> 
              </div>
             </div></td> 
            <td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code>,<code>false</code><br> (<code><em>true</em></code>)</p></td> 
@@ -2849,7 +2707,7 @@ table.CodeRay td.code>pre{padding:0}
          </tbody> 
         </table> 
         <div class="sect2"> 
-         <h3 id="_ugvw_configuration-properties_abbreviating-titles">5.1. Abbreviating/suppressing titles in tables</h3>
+         <h3 id="_ugvw_configuration-properties_abbreviating-titles">4.1. Abbreviating/suppressing titles in tables</h3>
          <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/ugvw/_ugvw_configuration-properties_abbreviating-titles.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>
@@ -2888,7 +2746,7 @@ isis.viewer.wicket.maxTitleLengthInParentedTables=8</code></pre>
          </div> 
         </div> 
         <div class="sect2"> 
-         <h3 id="_ugvw_configuration-properties_suppressing-remember-me">5.2. Suppressing 'remember me'</h3>
+         <h3 id="_ugvw_configuration-properties_suppressing-remember-me">4.2. Suppressing 'remember me'</h3>
          <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/ugvw/_ugvw_configuration-properties_suppressing-remember-me.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>
@@ -2903,7 +2761,7 @@ isis.viewer.wicket.maxTitleLengthInParentedTables=8</code></pre>
           <p>The 'remember me' checkbox on the login page can be suppressed, if required, by setting a configuration flag.</p> 
          </div> 
          <div class="sect3"> 
-          <h4 id="_screenshots_6">5.2.1. Screenshots</h4> 
+          <h4 id="_screenshots_6">4.2.1. Screenshots</h4> 
           <div class="paragraph"> 
            <p>With 'remember me' not suppressed (the default):</p> 
           </div> 
@@ -2922,7 +2780,7 @@ isis.viewer.wicket.maxTitleLengthInParentedTables=8</code></pre>
           </div> 
          </div> 
          <div class="sect3"> 
-          <h4 id="_configuration_4">5.2.2. Configuration</h4> 
+          <h4 id="_configuration_4">4.2.2. Configuration</h4> 
           <div class="paragraph"> 
            <p>To suppress the 'remember me' checkbox, add the following configuration flag:</p> 
           </div> 
@@ -2934,7 +2792,7 @@ isis.viewer.wicket.maxTitleLengthInParentedTables=8</code></pre>
          </div> 
         </div> 
         <div class="sect2"> 
-         <h3 id="_ugvw_configuration-properties_suppressing-sign-up">5.3. Suppressing 'sign up'</h3>
+         <h3 id="_ugvw_configuration-properties_suppressing-sign-up">4.3. Suppressing 'sign up'</h3>
          <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/ugvw/_ugvw_configuration-properties_suppressing-sign-up.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>
@@ -2952,7 +2810,7 @@ isis.viewer.wicket.maxTitleLengthInParentedTables=8</code></pre>
           <p>The 'sign up' link can be suppressed, if required, by setting a configuration flag.</p> 
          </div> 
          <div class="sect3"> 
-          <h4 id="_screenshots_7">5.3.1. Screenshots</h4> 
+          <h4 id="_screenshots_7">4.3.1. Screenshots</h4> 
           <div class="paragraph"> 
            <p>With 'sign up' not suppressed (the default):</p> 
           </div> 
@@ -2971,7 +2829,7 @@ isis.viewer.wicket.maxTitleLengthInParentedTables=8</code></pre>
           </div> 
          </div> 
          <div class="sect3"> 
-          <h4 id="_configuration_5">5.3.2. Configuration</h4> 
+          <h4 id="_configuration_5">4.3.2. Configuration</h4> 
           <div class="paragraph"> 
            <p>To suppress the 'sign up' link, add the following configuration flag:</p> 
           </div> 
@@ -2982,14 +2840,14 @@ isis.viewer.wicket.maxTitleLengthInParentedTables=8</code></pre>
           </div> 
          </div> 
          <div class="sect3"> 
-          <h4 id="_see_also">5.3.3. See also</h4> 
+          <h4 id="_see_also">4.3.3. See also</h4> 
           <div class="paragraph"> 
            <p>The <a href="../ugvw/ugvw.html#_ugvw_configuration-properties_suppressing-password-reset">password reset link</a> can be suppressed in a similar manner.</p> 
           </div> 
          </div> 
         </div> 
         <div class="sect2"> 
-         <h3 id="_ugvw_configuration-properties_suppressing-password-reset">5.4. Suppressing 'password reset'</h3>
+         <h3 id="_ugvw_configuration-properties_suppressing-password-reset">4.4. Suppressing 'password reset'</h3>
          <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/ugvw/_ugvw_configuration-properties_suppressing-password-reset.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>
@@ -3007,7 +2865,7 @@ isis.viewer.wicket.maxTitleLengthInParentedTables=8</code></pre>
           <p>The 'password reset' link can be suppressed, if required, by setting a configuration flag.</p> 
          </div> 
          <div class="sect3"> 
-          <h4 id="_screenshots_8">5.4.1. Screenshots</h4> 
+          <h4 id="_screenshots_8">4.4.1. Screenshots</h4> 
           <div class="paragraph"> 
            <p>With 'password reset' not suppressed (the default):</p> 
           </div> 
@@ -3026,7 +2884,7 @@ isis.viewer.wicket.maxTitleLengthInParentedTables=8</code></pre>
           </div> 
          </div> 
          <div class="sect3"> 
-          <h4 id="_configuration_6">5.4.2. Configuration</h4> 
+          <h4 id="_configuration_6">4.4.2. Configuration</h4> 
           <div class="paragraph"> 
            <p>To suppress the 'password reset' link, add the following configuration flag:</p> 
           </div> 
@@ -3040,14 +2898,14 @@ isis.viewer.wicket.maxTitleLengthInParentedTables=8</code></pre>
           </div> 
          </div> 
          <div class="sect3"> 
-          <h4 id="_see_also_2">5.4.3. See also</h4> 
+          <h4 id="_see_also_2">4.4.3. See also</h4> 
           <div class="paragraph"> 
            <p>The <a href="../ugvw/ugvw.html#_ugvw_configuration-properties_suppressing-sign-up">sign up link</a> can be suppressed in a similar manner.</p> 
           </div> 
          </div> 
         </div> 
         <div class="sect2"> 
-         <h3 id="_ugvw_configuration-properties_stripped-wicket-tags">5.5. Stripped Wicket tags</h3>
+         <h3 id="_ugvw_configuration-properties_stripped-wicket-tags">4.5. Stripped Wicket tags</h3>
          <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/ugvw/_ugvw_configuration-properties_stripped-wicket-tags.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>
@@ -3084,7 +2942,7 @@ isis.viewer.wicket.maxTitleLengthInParentedTables=8</code></pre>
          </div> 
         </div> 
         <div class="sect2"> 
-         <h3 id="_ugvw_configuration-properties_showing-theme-chooser">5.6. Showing a theme chooser</h3>
+         <h3 id="_ugvw_configuration-properties_showing-theme-chooser">4.6. Showing a theme chooser</h3>
          <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/ugvw/_ugvw_configuration-properties_showing-theme-chooser.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>
@@ -3153,7 +3011,7 @@ isis.viewer.wicket.maxTitleLengthInParentedTables=8</code></pre>
        </div> 
       </div> 
       <div class="sect1"> 
-       <h2 id="_ugvw_customisation">6. Customisation</h2>
+       <h2 id="_ugvw_customisation">5. Customisation</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/ugvw/_ugvw_customisation.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>
@@ -3166,7 +3024,7 @@ isis.viewer.wicket.maxTitleLengthInParentedTables=8</code></pre>
        </div> 
        <div class="sectionbody"> 
         <div class="sect2"> 
-         <h3 id="_ugvw_customisation_brand-logo">6.1. Brand logo</h3>
+         <h3 id="_ugvw_customisation_brand-logo">5.1. Brand logo</h3>
          <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/ugvw/_ugvw_customisation_brand-logo.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>
@@ -3181,7 +3039,7 @@ isis.viewer.wicket.maxTitleLengthInParentedTables=8</code></pre>
           <p>By default the Wicket viewer will display the application name top-left in the header menu. This can be changed to display a png logo instead.</p> 
          </div> 
          <div class="sect3"> 
-          <h4 id="_screenshots_9">6.1.1. Screenshots</h4> 
+          <h4 id="_screenshots_9">5.1.1. Screenshots</h4> 
           <div class="paragraph"> 
            <p>The screenshot below shows the Isis addons example <a href="https://github.com/isisaddons/isis-app-todoapp/">todoapp</a> (not ASF) with a 'brand logo' image in its header:</p> 
           </div> 
@@ -3200,7 +3058,7 @@ isis.viewer.wicket.maxTitleLengthInParentedTables=8</code></pre>
           </div> 
          </div> 
          <div class="sect3"> 
-          <h4 id="_configuration_7">6.1.2. Configuration</h4> 
+          <h4 id="_configuration_7">5.1.2. Configuration</h4> 
           <div class="paragraph"> 
            <p>In the application-specific subclass of <code>IsisWicketApplication</code>, bind:</p> 
           </div> 
@@ -3252,7 +3110,7 @@ isis.viewer.wicket.maxTitleLengthInParentedTables=8</code></pre>
          </div> 
         </div> 
         <div class="sect2"> 
-         <h3 id="_ugvw_customisation_default-theme">6.2. Specifying a default theme</h3>
+         <h3 id="_ugvw_customisation_default-theme">5.2. Specifying a default theme</h3>
          <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/ugvw/_ugvw_customisation_default-theme.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>
@@ -3284,7 +3142,7 @@ isis.viewer.wicket.maxTitleLengthInParentedTables=8</code></pre>
          </div> 
         </div> 
         <div class="sect2"> 
-         <h3 id="_ugvw_customisation_welcome-page">6.3. Welcome page</h3>
+         <h3 id="_ugvw_customisation_welcome-page">5.3. Welcome page</h3>
          <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/ugvw/_ugvw_customisation_welcome-page.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>
@@ -3338,7 +3196,7 @@ isis.viewer.wicket.maxTitleLengthInParentedTables=8</code></pre>
          </div> 
         </div> 
         <div class="sect2"> 
-         <h3 id="_ugvw_customisation_about-page">6.4. About page</h3>
+         <h3 id="_ugvw_customisation_about-page">5.4. About page</h3>
          <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/ugvw/_ugvw_customisation_about-page.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>
@@ -3353,7 +3211,7 @@ isis.viewer.wicket.maxTitleLengthInParentedTables=8</code></pre>
           <p>Isis' Wicket viewer has an About page that, by default, will provide a dump of the JARs that make up the webapp. This page will also show the manifest attributes of the WAR archive itself, if there are any. One of these attributes may also be used as the application version number.</p> 
          </div> 
          <div class="sect3"> 
-          <h4 id="_screenshot">6.4.1. Screenshot</h4> 
+          <h4 id="_screenshot">5.4.1. Screenshot</h4> 
           <div class="paragraph"> 
            <p>Here’s what the About page looks like with this configuration added:</p> 
           </div> 
@@ -3389,7 +3247,7 @@ isis.viewer.wicket.maxTitleLengthInParentedTables=8</code></pre>
           </div> 
          </div> 
          <div class="sect3"> 
-          <h4 id="_configuration_8">6.4.2. Configuration</h4> 
+          <h4 id="_configuration_8">5.4.2. Configuration</h4> 
           <div class="sect4"> 
            <h5 id="_adding_attributes_to_the_war_s_manifest">Adding attributes to the WAR’s manifest</h5> 
            <div class="paragraph"> 
@@ -3482,7 +3340,7 @@ isis.viewer.wicket.maxTitleLengthInParentedTables=8</code></pre>
          </div> 
         </div> 
         <div class="sect2"> 
-         <h3 id="_ugvw_customisation_tweaking-css-classes">6.5. Tweaking CSS classes</h3>
+         <h3 id="_ugvw_customisation_tweaking-css-classes">5.5. Tweaking CSS classes</h3>
          <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/ugvw/_ugvw_customisation_tweaking-css-classes.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>
@@ -3507,7 +3365,7 @@ isis.viewer.wicket.maxTitleLengthInParentedTables=8</code></pre>
           <p>These customizations should generally be added to <a href="../rgcfg/rgcfg.html#_rgcfg_application-specific_application-css"><code>application.css</code></a>; this file is included by default in every webpage served up by the Wicket viewer.</p> 
          </div> 
          <div class="sect3"> 
-          <h4 id="_individual_members">6.5.1. Individual members</h4> 
+          <h4 id="_individual_members">5.5.1. Individual members</h4> 
           <div class="paragraph"> 
            <p>For example, the <code>ToDoItem</code> object of the Isis addons example <a href="https://github.com/isisaddons/isis-app-todoapp/">todoapp</a> (not ASF) has a <code>notes</code> property. The HTML for this will be something like:</p> 
           </div> 
@@ -3547,7 +3405,7 @@ isis.viewer.wicket.maxTitleLengthInParentedTables=8</code></pre>
           </div> 
          </div> 
          <div class="sect3"> 
-          <h4 id="_custom_css_styles">6.5.2. Custom CSS styles</h4> 
+          <h4 id="_custom_css_styles">5.5.2. Custom CSS styles</h4> 
           <div class="paragraph"> 
            <p>The above technique works well if you know the class member to target, but you might instead want to apply a custom style to a set of members. For this, you can use the <code>@CssClass</code>.</p> 
           </div> 
@@ -3589,7 +3447,7 @@ isis.viewer.wicket.maxTitleLengthInParentedTables=8</code></pre>
           </div> 
          </div> 
          <div class="sect3"> 
-          <h4 id="__ugvw_customisation_tweaking-css-classes_columns-in-tables">6.5.3. Table columns</h4> 
+          <h4 id="__ugvw_customisation_tweaking-css-classes_columns-in-tables">5.5.3. Table columns</h4> 
           <div class="paragraph"> 
            <p>Sometimes you may want to apply styling to specific columns of tables. For example, you might want to adjust width so that for certain properties have more (or less) room than they otherwise would; or you might want to hide the column completely. This also applies to the initial icon/title column.</p> 
           </div> 
@@ -3757,7 +3615,7 @@ isis.viewer.wicket.maxTitleLengthInParentedTables=8</code></pre>
          </div> 
         </div> 
         <div class="sect2"> 
-         <h3 id="_ugvw_customisation_cheap-n-cheerful-theme">6.6. Cheap-n-cheerful theme</h3>
+         <h3 id="_ugvw_customisation_cheap-n-cheerful-theme">5.6. Cheap-n-cheerful theme</h3>
          <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/ugvw/_ugvw_customisation_cheap-n-cheerful-theme.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>
@@ -3799,7 +3657,7 @@ isis.viewer.wicket.maxTitleLengthInParentedTables=8</code></pre>
          </div> 
         </div> 
         <div class="sect2"> 
-         <h3 id="_ugvw_customisation_using-different-css-file">6.7. Using a different CSS file</h3>
+         <h3 id="_ugvw_customisation_using-different-css-file">5.7. Using a different CSS file</h3>
          <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/ugvw/_ugvw_customisation_using-different-css-file.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>
@@ -3840,7 +3698,7 @@ isis.viewer.wicket.maxTitleLengthInParentedTables=8</code></pre>
          </div> 
         </div> 
         <div class="sect2"> 
-         <h3 id="_ugvw_customisation_custom-javascript">6.8. Custom Javascript</h3>
+         <h3 id="_ugvw_customisation_custom-javascript">5.8. Custom Javascript</h3>
          <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/ugvw/_ugvw_customisation_custom-javascript.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>
@@ -3899,7 +3757,7 @@ isis.viewer.wicket.maxTitleLengthInParentedTables=8</code></pre>
          </div> 
         </div> 
         <div class="sect2"> 
-         <h3 id="_ugvw_customisation_auto-refresh">6.9. Auto-refresh page</h3>
+         <h3 id="_ugvw_customisation_auto-refresh">5.9. Auto-refresh page</h3>
          <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/ugvw/_ugvw_customisation_auto-refresh.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>
@@ -3949,7 +3807,7 @@ isis.viewer.wicket.maxTitleLengthInParentedTables=8</code></pre>
          </div> 
         </div> 
         <div class="sect2"> 
-         <h3 id="_ugvw_customisation_request-parameters">6.10. Embedded View</h3>
+         <h3 id="_ugvw_customisation_request-parameters">5.10. Embedded View</h3>
          <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/ugvw/_ugvw_customisation_request-parameters.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>
@@ -3967,7 +3825,7 @@ isis.viewer.wicket.maxTitleLengthInParentedTables=8</code></pre>
           <p>Currently this support consists simply of being able to suppress the header and/or footer.</p> 
          </div> 
          <div class="sect3"> 
-          <h4 id="_screenshots_10">6.10.1. Screenshots</h4> 
+          <h4 id="_screenshots_10">5.10.1. Screenshots</h4> 
           <div class="paragraph"> 
            <p>For example, the regular view is:</p> 
           </div> 
@@ -3989,7 +3847,7 @@ isis.viewer.wicket.maxTitleLengthInParentedTables=8</code></pre>
           </div> 
          </div> 
          <div class="sect3"> 
-          <h4 id="_request_parameters">6.10.2. Request parameters</h4> 
+          <h4 id="_request_parameters">5.10.2. Request parameters</h4> 
           <div class="paragraph"> 
            <p>To suppress the header, add the following as a request parameter:</p> 
           </div> 
@@ -4019,7 +3877,7 @@ isis.viewer.wicket.maxTitleLengthInParentedTables=8</code></pre>
        </div> 
       </div> 
       <div class="sect1"> 
-       <h2 id="_ugvw_extending">7. Extending the Viewer</h2>
+       <h2 id="_ugvw_extending">6. Extending the Viewer</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/ugvw/_ugvw_extending.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>
@@ -4050,7 +3908,7 @@ isis.viewer.wicket.maxTitleLengthInParentedTables=8</code></pre>
          <p>The chapter wraps up with a technique for prototyping, allowing user/passwords to be specified as query arguments.</p> 
         </div> 
         <div class="sect2"> 
-         <h3 id="_ugvw_extending_custom-bootstrap-theme">7.1. Custom Bootstrap theme</h3>
+         <h3 id="_ugvw_extending_custom-bootstrap-theme">6.1. Custom Bootstrap theme</h3>
          <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/ugvw/_ugvw_extending_custom-bootstrap-theme.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>
@@ -4093,7 +3951,7 @@ isis.viewer.wicket.maxTitleLengthInParentedTables=8</code></pre>
          </div> 
         </div> 
         <div class="sect2"> 
-         <h3 id="_ugvw_extending_replacing-page-elements">7.2. Replacing page elements</h3>
+         <h3 id="_ugvw_extending_replacing-page-elements">6.2. Replacing page elements</h3>
          <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/ugvw/_ugvw_extending_replacing-page-elements.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>
@@ -4111,7 +3969,7 @@ isis.viewer.wicket.maxTitleLengthInParentedTables=8</code></pre>
           <p>The pages generated by Apache Isis' Wicket viewer are built up of numerous elements, from fine-grained widgets for property/parameter fields, to much larger components that take responsibility for rendering an entire entity, or a collection of entities. Under the covers these are all implementations of the the Apache Wicket <code>Component</code> API. The larger components delegate to the smaller, of course.</p> 
          </div> 
          <div class="sect3"> 
-          <h4 id="_how_the_viewer_selects_components">7.2.1. How the viewer selects components</h4> 
+          <h4 id="_how_the_viewer_selects_components">6.2.1. How the viewer selects components</h4> 
           <div class="paragraph"> 
            <p>Components are created using Apache Isis' <code>ComponentFactory</code> interface, which are registered in turn through the <code>ComponentFactoryRegistrar</code> interface. Every component is categorizes by type (the <code>ComponentType</code> enum), and Apache Isis uses this to determine which <code>ComponentFactory</code> to use. For example, the <code>ComponentType.BOOKMARKED_PAGES</code> is used to locate the <code>ComponentFactory</code> that will build the bookmarked pages panel.</p> 
           </div> 
@@ -4142,7 +4000,7 @@ isis.viewer.wicket.maxTitleLengthInParentedTables=8</code></pre>
           </div> 
          </div> 
          <div class="sect3"> 
-          <h4 id="_how_to_replace_a_component">7.2.2. How to replace a component</h4> 
+          <h4 id="_how_to_replace_a_component">6.2.2. How to replace a component</h4> 
           <div class="paragraph"> 
            <p>This design (the <a href="http://en.wikipedia.org/wiki/Chain-of-responsibility_pattern">chain of responsibility</a> design pattern) makes it quite straightforward to change the rendering of any element of the page. For example, you might switch out Apache Isis' sliding bookmark panel and replace it with one that presents the bookmarks in some different fashion.</p> 
           </div> 
@@ -4238,7 +4096,7 @@ isis.viewer.wicket.maxTitleLengthInParentedTables=8</code></pre>
           </div> 
          </div> 
          <div class="sect3"> 
-          <h4 id="__ugvw_extending_replacing-page-elements_collections">7.2.3. Additional Views of Collections</h4> 
+          <h4 id="__ugvw_extending_replacing-page-elements_collections">6.2.3. Additional Views of Collections</h4> 
           <div class="paragraph"> 
            <p>As explained above, in most cases Apache Isis' Wicket viewer will search for the first <code>ComponentFactory</code> that can render an element, and use it. In the case of (either standalone or parented) collections, though, Apache Isis will show all available views.</p> 
           </div> 
@@ -4268,7 +4126,7 @@ isis.viewer.wicket.maxTitleLengthInParentedTables=8</code></pre>
           </div> 
          </div> 
          <div class="sect3"> 
-          <h4 id="_custom_object_view_eg_dashboard">7.2.4. Custom object view (eg dashboard)</h4> 
+          <h4 id="_custom_object_view_eg_dashboard">6.2.4. Custom object view (eg dashboard)</h4> 
           <div class="paragraph"> 
            <p>One further use case in particular is worth highlighting; the rendering of an entire entity. Normally entities this is done using <code>EntityCombinedPanelFactory</code>, this being the first <code>ComponentFactory</code> for the <code>ComponentType.ENTITY</code> that is registered in Apache Isis default <code>ComponentFactoryRegistrarDefault</code>.</p> 
           </div> 
@@ -4292,7 +4150,7 @@ isis.viewer.wicket.maxTitleLengthInParentedTables=8</code></pre>
          </div> 
         </div> 
         <div class="sect2"> 
-         <h3 id="_ugvw_extending_custom-pages">7.3. Custom pages</h3>
+         <h3 id="_ugvw_extending_custom-pages">6.3. Custom pages</h3>
          <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/ugvw/_ugvw_extending_custom-pages.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>
@@ -4410,7 +4268,7 @@ isis.viewer.wicket.maxTitleLengthInParentedTables=8</code></pre>
          </div> 
         </div> 
         <div class="sect2"> 
-         <h3 id="_ugvw_extending_login-via-query-args-prototyping">7.4. Login via Query Args (for Prototyping)</h3>
+         <h3 id="_ugvw_extending_login-via-query-args-prototyping">6.4. Login via Query Args (for Prototyping)</h3>
          <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/ugvw/_ugvw_extending_login-via-query-args-prototyping.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>
@@ -4470,7 +4328,7 @@ public WebRequest newWebRequest(HttpServletRequest servletRequest, String filter
        </div> 
       </div> 
       <div class="sect1"> 
-       <h2 id="_ugvw_hints-and-tips">8. Hints and Tips</h2>
+       <h2 id="_ugvw_hints-and-tips">7. Hints and Tips</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/ugvw/_ugvw_hints-and-tips.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>
@@ -4499,7 +4357,7 @@ public WebRequest newWebRequest(HttpServletRequest servletRequest, String filter
          </ul> 
         </div> 
         <div class="sect2"> 
-         <h3 id="_ugvw_hints-and-tips_per-user-themes">8.1. Per-user Themes</h3>
+         <h3 id="_ugvw_hints-and-tips_per-user-themes">7.1. Per-user Themes</h3>
          <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/ugvw/_ugvw_hints-and-tips_per-user-themes.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>
@@ -4605,7 +4463,7 @@ public WebRequest newWebRequest(HttpServletRequest servletRequest, String filter
          </div> 
         </div> 
         <div class="sect2"> 
-         <h3 id="_ugvw_hints-and-tips_i18n-label-in-wicket-viewer">8.2. How i18n the Wicket viewer?</h3>
+         <h3 id="_ugvw_hints-and-tips_i18n-label-in-wicket-viewer">7.2. How i18n the Wicket viewer?</h3>
          <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/ugvw/_ugvw_hints-and-tips_i18n-label-in-wicket-viewer.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>
@@ -4641,7 +4499,7 @@ public WebRequest newWebRequest(HttpServletRequest servletRequest, String filter
          </div> 
         </div> 
         <div class="sect2"> 
-         <h3 id="_ugvw_hints-and-tips_svg-support">8.3. SVG Support</h3>
+         <h3 id="_ugvw_hints-and-tips_svg-support">7.3. SVG Support</h3>
          <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/ugvw/_ugvw_hints-and-tips_svg-support.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>
@@ -4699,7 +4557,7 @@ public WebRequest newWebRequest(HttpServletRequest servletRequest, String filter
        </div> 
       </div> 
       <div class="sect1"> 
-       <h2 id="_ugvw_incode-platform">9. Appendix: Incode Platform (not ASF)</h2>
+       <h2 id="_ugvw_incode-platform">8. Appendix: Incode Platform (not ASF)</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/ugvw/_ugvw_incode-platform.adoc&quot;"><i class="fa fa-pencil-square-o"></i>&nbsp;Edit</button>
         <bu

<TRUNCATED>