http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/migration-notes/migration-notes.html
----------------------------------------------------------------------
diff --git a/content/migration-notes/migration-notes.html 
b/content/migration-notes/migration-notes.html
index acbe37b..21ed853 100644
--- a/content/migration-notes/migration-notes.html
+++ b/content/migration-notes/migration-notes.html
@@ -409,7 +409,7 @@
            </div> </li> 
           <li> <p><code>isis.reflector.validator.noParamsOnly</code><br></p> 
            <div class="paragraph"> 
-            <p>When searching for <a 
href="rgcms.html#_rgcms_methods_prefixes_disable"><code>disableXxx()</code></a> 
or <a href="rgcms.html#_rgcms_methods_prefixes_hide"><code>hideXxx()</code></a> 
supporting methods, whether to search only for the no-param version (or also 
for supporting methods that match the parameter types of the action).<br></p> 
+            <p>When searching for <a 
href="../guides/rgcms/rgcms.html#_rgcms_methods_prefixes_disable"><code>disableXxx()</code></a>
 or <a 
href="../guides/rgcms/rgcms.html#_rgcms_methods_prefixes_hide"><code>hideXxx()</code></a>
 supporting methods, whether to search only for the no-param version (or also 
for supporting methods that match the parameter types of the action).<br></p> 
            </div> 
            <div class="paragraph"> 
             <p>This is disabled by default; if enabled then this makes for a 
simpler programming model.</p> 
@@ -478,7 +478,7 @@
          <p>The new service also supports the notion of published property 
edits; the new <a 
href="guides/rgant.html#_rgant_Property_publishing"><code>@Property#publishing()</code></a>
 annotation attribute can be used to specify. The ` 
isis.services.publish.properties` configuration property can be used to specify 
a fallback default for properties where the attribute is not set 
explicitly.</p> 
         </div> 
         <div class="paragraph"> 
-         <p>Conversely, neither the <a 
href="guides/rgant.html#_rgant_Action_publishingPayloadFactory"><code>@Action#publishingPayloadFactory()</code></a>
 nor the <a 
href="guides/rgant.html#_rgant_DomainObject_publishingPayloadFactory"><code>@DomainObject#publishingPayloadFactory()</code></a>
 are supported by <code>PublisherService</code>; instead the consumers of the 
events are expected to callback for any additional information, eg using <a 
href="#guides/ugvro.adoc">Resful Objects</a> viewer.</p> 
+         <p>Conversely, neither the <a 
href="guides/rgant.html#_rgant_Action_publishingPayloadFactory"><code>@Action#publishingPayloadFactory()</code></a>
 nor the <a 
href="guides/rgant.html#_rgant_DomainObject_publishingPayloadFactory"><code>@DomainObject#publishingPayloadFactory()</code></a>
 are supported by <code>PublisherService</code>; instead the consumers of the 
events are expected to callback for any additional information, eg using <a 
href="guides/ugvro.html">Resful Objects</a> viewer.</p> 
         </div> 
        </div> 
        <div class="sect2"> 
@@ -666,10 +666,10 @@
        <div class="sect2"> 
         <h3 id="_dynamic_xml_layouts">Dynamic XML Layouts</h3> 
         <div class="paragraph"> 
-         <p>The major new feature in 1.12.0 is <a 
href="guides/ugfun.html#_ugfun_object-layout_dynamic_xml">dynamic XML 
layouts</a>, providing much enhanced support for custom layouts.</p> 
+         <p>The major new feature in 1.12.0 is <a 
href="guides/ugvw.html#_ugvw_layout_file-based">dynamic XML layouts</a>, 
providing much enhanced support for custom layouts.</p> 
         </div> 
         <div class="paragraph"> 
-         <p>The new <code>Xxx.layout.xml</code> file is optional; without it 
domain objects will continue to be rendered as before, using metadata from 
annotations (<a 
href="guides/rgant.html#_rgant-DomainObjectLayout"><code>@DomainObjectLayout</code></a>,
 <a 
href="guides/rgant.html#_rgant-PropertyLayout"><code>@PropertyLayout</code></a>,
 <a 
href="guides/rgant.html#_rgant-CollectionLayout"><code>@CollectionLayout</code></a>,
 <a 
href="guides/rgant.html#_rgant-ActionLayout"><code>@ActionLayout</code></a>, <a 
href="guides/rgant.html#_rgant-MemberOrder"><code>@MemberOrder</code></a> and 
<a 
href="guides/rgant.html#_rgant-MemberGroupLayout"><code>@MemberGroupLayout</code></a>),
 and also from any <a 
href="guides/ugfun.html#_ugfun_object-layout_dynamic"><code>Xxx.layout.json</code></a>
 file that might already exist. There is therefore no requirement to move to 
the new more flexible XML-based layout.</p> 
+         <p>The new <code>Xxx.layout.xml</code> file is optional; without it 
domain objects will continue to be rendered as before, using metadata from 
annotations (<a 
href="guides/rgant.html#_rgant-DomainObjectLayout"><code>@DomainObjectLayout</code></a>,
 <a 
href="guides/rgant.html#_rgant-PropertyLayout"><code>@PropertyLayout</code></a>,
 <a 
href="guides/rgant.html#_rgant-CollectionLayout"><code>@CollectionLayout</code></a>,
 <a 
href="guides/rgant.html#_rgant-ActionLayout"><code>@ActionLayout</code></a>, <a 
href="guides/rgant.html#_rgant-MemberOrder"><code>@MemberOrder</code></a> and 
<a 
href="guides/rgant.html#_rgant-MemberGroupLayout"><code>@MemberGroupLayout</code></a>),
 and also from any <a 
href="guides/ugvw.html#_ugvw_layout_file-based"><code>Xxx.layout.json</code></a>
 file that might already exist. There is therefore no requirement to move to 
the new more flexible XML-based layout.</p> 
         </div> 
         <div class="paragraph"> 
          <p>If you do want to start using the new format, then you will find 
that 1.12.0 provides a mixin action (available in prototype mode only) called 
"download XML layout". This will allow you to download the current layout file 
for the object being rendered. This can then be saved alongside the class' Java 
source file. Once a <code>Xxx.layout.xml</code> file is present, any existing 
<code>Xxx.layout.json</code> file will be ignored; any annotations though will 
continue to be honoured.</p> 
@@ -698,7 +698,7 @@
          <p>The properties are grouped in a "metadata" fieldset, and the mixin 
actions associated with that fieldset. If the domain object is a view model 
rather than an entity (that is, has no id or version) then the actions will 
instead be rendered as top-level actions.</p> 
         </div> 
         <div class="paragraph"> 
-         <p>Most of these mixin object members are visible only in prototype 
mode, though some are visible in production mode and so potentially visible to 
end-users. If you wish to suppress these members from the view, you can either 
use <a href="#guides/ugsec.adoc">security</a>, or alternatively you can write 
<a 
href="guides/rgcms.html#_rgcms_classes_super_AbstractSubscriber">subscriber</a>s
 to veto the visibility of these members by subscribing to their respective 
domain events.</p> 
+         <p>Most of these mixin object members are visible only in prototype 
mode, though some are visible in production mode and so potentially visible to 
end-users. If you wish to suppress these members from the view, you can either 
use <a href="guides/ugsec.html">security</a>, or alternatively you can write <a 
href="guides/rgcms.html#_rgcms_classes_super_AbstractSubscriber">subscriber</a>s
 to veto the visibility of these members by subscribing to their respective 
domain events.</p> 
         </div> 
        </div> 
        <div class="sect2"> 
@@ -968,7 +968,7 @@ 
org.apache.isis.core.runtime.runner.IsisInjectModule.provideIsisSystem(IsisInjec
        <div class="sect2"> 
         <h3 id="_isis_maven_plugin">isis-maven-plugin</h3> 
         <div class="paragraph"> 
-         <p>The way that the Isis Maven plugin is configured has changed 
slightly; check out its <a href="#guides/rgmvn.adoc">documentation</a> for full 
details.</p> 
+         <p>The way that the Isis Maven plugin is configured has changed 
slightly; check out its <a href="guides/rgmvn.html">documentation</a> for full 
details.</p> 
         </div> 
        </div> 
       </div> 

http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/pages/how-isis-works/how-isis-works.html
----------------------------------------------------------------------
diff --git a/content/pages/how-isis-works/how-isis-works.html 
b/content/pages/how-isis-works/how-isis-works.html
index cb75031..8715d0d 100644
--- a/content/pages/how-isis-works/how-isis-works.html
+++ b/content/pages/how-isis-works/how-isis-works.html
@@ -388,7 +388,7 @@
          <td class="icon"> <i class="fa icon-note" title="Note"></i> </td> 
          <td class="content"> 
           <div class="paragraph"> 
-           <p>Note that this screencast shows an earlier version of the <a 
href="ugvw.html">Wicket viewer</a> UI (specifically, pre 1.8.0).</p> 
+           <p>Note that this screencast shows an earlier version of the <a 
href="../../guides/ugvw/ugvw.html">Wicket viewer</a> UI (specifically, pre 
1.8.0).</p> 
           </div> </td> 
         </tr> 
        </tbody>

http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/pages/powered-by/powered-by.html
----------------------------------------------------------------------
diff --git a/content/pages/powered-by/powered-by.html 
b/content/pages/powered-by/powered-by.html
index 1459115..14c7580 100644
--- a/content/pages/powered-by/powered-by.html
+++ b/content/pages/powered-by/powered-by.html
@@ -529,13 +529,13 @@
          <p>The GRC application require a more sophisticating and customizable 
viewer than is provided "out-of-the-box" by Apache Isis. We chose <a 
href="http://wavemaker.com";>Wavemaker</a> for implementing the viewer, also 
leveraging and integrating with various Wavemaker services.</p> 
         </div> 
         <div class="paragraph"> 
-         <p>Even so, while GRC does (as the figures above show) include custom 
views, the majority of the views exposed by GRC are automatically generated 
from the underlying domain entities; the GRC viewer is a proprietary version of 
Isis' own <a href="ugvw.html">Wicket viewer</a>. At the last count more than 
400 domain entities, across 6 different Bounded Contexts, are surfaced in the 
UI in this this way.</p> 
+         <p>Even so, while GRC does (as the figures above show) include custom 
views, the majority of the views exposed by GRC are automatically generated 
from the underlying domain entities; the GRC viewer is a proprietary version of 
Isis' own <a href="../../guides/ugvw/ugvw.html">Wicket viewer</a>. At the last 
count more than 400 domain entities, across 6 different Bounded Contexts, are 
surfaced in the UI in this this way.</p> 
         </div> 
         <div class="paragraph"> 
-         <p>At the Domain level, we also extensively use the <a 
href="ugbtb.html#_ugbtb_decoupling_event-bus">domain events</a> functionality 
available in Apache Isis, along with many of the (non-ASF) <a 
href="http://isisaddons.org";>Isis Addons</a> (such as <a 
href="http://github.com/isisaddons/isis-module-audit";>audit</a>, <a 
href="http://github.com/isisaddons/isis-module-security";>security</a> and the 
<a href="http://github.com/isisaddons/isis-module-excel";>excel</a> 
modules).</p> 
+         <p>At the Domain level, we also extensively use the <a 
href="../../guides/ugfun/ugfun.html#_ugfun_building-blocks_events_domain-events">domain
 events</a> functionality available in Apache Isis, along with many of the 
(non-ASF) <a href="http://isisaddons.org";>Isis Addons</a> (such as <a 
href="http://github.com/isisaddons/isis-module-audit";>audit</a>, <a 
href="http://github.com/isisaddons/isis-module-security";>security</a> and the 
<a href="http://github.com/isisaddons/isis-module-excel";>excel</a> 
modules).</p> 
         </div> 
         <div class="paragraph"> 
-         <p>The GRC platform currently has more than 5600 automated tests, 
about 2000 being <a href="ugtst.html#_ugtst_bdd-spec-support">BDD tests</a> and 
3600 <a href="ugtst.html#_ugtst_integ-test-support">integration tests</a>, all 
leveraging Apache Isis' extensive testing capabilities.</p> 
+         <p>The GRC platform currently has more than 5600 automated tests, 
about 2000 being <a 
href="../../guides/ugtst/ugtst.html#_ugtst_bdd-spec-support">BDD tests</a> and 
3600 <a 
href="../../guides/ugtst/ugtst.html#_ugtst_integ-test-support">integration 
tests</a>, all leveraging Apache Isis' extensive testing capabilities.</p> 
         </div> 
        </div> 
        <div class="sect2"> 
@@ -589,7 +589,7 @@
          <p><span class="image"><img src="http://i.imgur.com/qhXhKiu.png"; 
alt="qhXhKiu" width="32%"></span></p> 
         </div> 
         <div class="paragraph"> 
-         <p>As our first Apache Isis app making use of mobile technologies it 
opens the doors for more to follow. Ionic has proven easy to learn and build 
apps with, and has a helpful community. Meanwhile we’ve used Apache Isis' 
support for <a 
href="//http://isis.apache.org/guides/ugbtb.html#_ugbtb_view-models_jaxb";>JAXB 
view models</a> and in particular the <a 
href="http://isis.apache.org/guides/ugvro.html#__ugvro_simplified-representations_apache-isis-profile";>simplified
 REST representations</a> introduced in v1.12.0. The result is code that is 
easy to follow and enhance.</p> 
+         <p>As our first Apache Isis app making use of mobile technologies it 
opens the doors for more to follow. Ionic has proven easy to learn and build 
apps with, and has a helpful community. Meanwhile we’ve used Apache Isis' 
support for <a 
href="../../guides/ugfun/ugfun.html#_ugfun_programming-model_view-models_jaxb">JAXB
 view models</a> and in particular the <a 
href="http://isis.apache.org/guides/ugvro.html#__ugvro_simplified-representations_apache-isis-profile";>simplified
 REST representations</a> introduced in v1.12.0. The result is code that is 
easy to follow and enhance.</p> 
         </div> 
         <div class="paragraph"> 
          <p>We expect that the scope of <em>Contact App</em> will expand and 
new features added, these will (almost certainly) remain open source. Meanwhile 
we’re now set up nicely to build further mobile apps using this technology 
stack.</p> 

http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/pages/screencasts/screencasts.html
----------------------------------------------------------------------
diff --git a/content/pages/screencasts/screencasts.html 
b/content/pages/screencasts/screencasts.html
index 6884e10..0655497 100644
--- a/content/pages/screencasts/screencasts.html
+++ b/content/pages/screencasts/screencasts.html
@@ -602,7 +602,7 @@
         <td class="tableblock halign-left valign-top">
          <div>
           <div class="paragraph"> 
-           <p><a href="https://www.youtube.com/watch?v=xVTjtiJM8XM"; 
target="_blank">003</a><br> Walking through the main classes that make up the 
SimpleApp: <code>SimpleObject</code> persistent entity, 
<code>HomePageViewModel</code> <a 
href="guides/ugbtb.html#_ugbtb_view-models">view model</a> and 
<code>SimpleObjects</code> domain service (repository).</p> 
+           <p><a href="https://www.youtube.com/watch?v=xVTjtiJM8XM"; 
target="_blank">003</a><br> Walking through the main classes that make up the 
SimpleApp: <code>SimpleObject</code> persistent entity, 
<code>HomePageViewModel</code> <a 
href="#guides/ugfun/ugfun/_ugfun_building-blocks_types-of-domain-objects_view-models">view
 model</a> and <code>SimpleObjects</code> domain service (repository).</p> 
           </div>
          </div></td> 
         <td class="tableblock halign-left valign-top">
@@ -636,7 +636,7 @@
         <td class="tableblock halign-left valign-top">
          <div>
           <div class="paragraph"> 
-           <p><a href="https://www.youtube.com/watch?v=KCJ1ZPPB3pA"; 
target="_blank">004</a><br> Using the optional <code>Xxx.layout.xml</code> file 
to provide <a href="guides/ugfun.html#_ugfun_object-layout_dynamic_xml">layout 
metadata</a> to dynamically render a domain object using the <a 
href="http://getbootstrap.com";>Bootstrap 3</a> grid system.</p> 
+           <p><a href="https://www.youtube.com/watch?v=KCJ1ZPPB3pA"; 
target="_blank">004</a><br> Using the optional <code>Xxx.layout.xml</code> file 
to provide <a href="guides/ugvw.html#_ugvw_layout_file-based">layout 
metadata</a> to dynamically render a domain object using the <a 
href="http://getbootstrap.com";>Bootstrap 3</a> grid system.</p> 
           </div>
          </div></td> 
         <td class="tableblock halign-left valign-top">
@@ -782,7 +782,7 @@
         <td class="tableblock halign-left valign-top">
          <div>
           <div class="paragraph"> 
-           <p><a href="https://www.youtube.com/watch?v=dXtmxmYxa30"; 
target="_blank">006</a><br> Implementing <a 
href="guides/ugfun.html#_ugfun_how-tos_business-rules">business rules</a>for 
domain object members, using supporting methods ("see it, use it, do it")</p> 
+           <p><a href="https://www.youtube.com/watch?v=dXtmxmYxa30"; 
target="_blank">006</a><br> Implementing <a 
href="guides/ugfun.html#_ugfun_business-rules">business rules</a>for domain 
object members, using supporting methods ("see it, use it, do it")</p> 
           </div>
          </div></td> 
         <td class="tableblock halign-left valign-top">
@@ -996,7 +996,7 @@
         <td class="tableblock halign-left valign-top">
          <div>
           <div class="paragraph"> 
-           <p><a href="https://www.youtube.com/watch?v=yOh3WphhR1E"; 
target="_blank">010</a><br> Using the <a href="#guides/rgmvn.adoc">Apache Isis 
maven plugin</a> to validate domain object models during the build process 
(rather than at runtime).</p> 
+           <p><a href="https://www.youtube.com/watch?v=yOh3WphhR1E"; 
target="_blank">010</a><br> Using the <a href="guides/rgmvn.html">Apache Isis 
maven plugin</a> to validate domain object models during the build process 
(rather than at runtime).</p> 
           </div>
          </div></td> 
         <td class="tableblock halign-left valign-top">
@@ -1150,7 +1150,7 @@
         <td class="tableblock halign-left valign-top">
          <div>
           <div class="paragraph"> 
-           <p><a href="https://www.youtube.com/watch?v=dfRZeYqzMtI"; 
target="_blank">012</a><br> Implementing business logic using a (no-arg) 
action, and associating with a property using either the <a 
href="guides/rgant.html#_rgant-MemberOrder"><code>@MemberOrder</code></a> 
annotations or using <a 
href="guides/ugfun.html#_ugfun_object-layout_dynamic_xml">dynamic (XML) 
layouts</a>.</p> 
+           <p><a href="https://www.youtube.com/watch?v=dfRZeYqzMtI"; 
target="_blank">012</a><br> Implementing business logic using a (no-arg) 
action, and associating with a property using either the <a 
href="guides/rgant.html#_rgant-MemberOrder"><code>@MemberOrder</code></a> 
annotations or using <a href="guides/ugvw.html#_ugvw_layout_file-based">dynamic 
(XML) layouts</a>.</p> 
           </div>
          </div></td> 
         <td class="tableblock halign-left valign-top">
@@ -1472,7 +1472,7 @@
         <td class="tableblock halign-left valign-top">
          <div>
           <div class="paragraph"> 
-           <p><a href="https://www.youtube.com/watch?v=39Hpd7C4Kvo"; 
target="_blank">018</a><br> Using <a 
href="guides/ugfun.html#_ugfun_object-layout_dynamic_xml">dynamic (XML) 
layouts</a> to specify the page size for a domain object’s collection.</p> 
+           <p><a href="https://www.youtube.com/watch?v=39Hpd7C4Kvo"; 
target="_blank">018</a><br> Using <a 
href="guides/ugvw.html#_ugvw_layout_file-based">dynamic (XML) layouts</a> to 
specify the page size for a domain object’s collection.</p> 
           </div>
          </div></td> 
         <td class="tableblock halign-left valign-top">
@@ -1584,7 +1584,7 @@
         <td class="tableblock halign-left valign-top">
          <div>
           <div class="paragraph"> 
-           <p><a href="https://www.youtube.com/watch?v=0d713-V4vrg"; 
target="_blank">019</a><br> Demonstrates how Apache Isis' <a 
href="#guides/ugvw.adoc">Wicket viewer</a> remembers the state of rendered 
domain objects, and how the end-user of the application can clear these UI 
hints using the (framework-provided) <a 
href="guides/rgcms.html#__rgcms_classes_mixins_Object_clearHints">"clear 
hints"</a> action.</p> 
+           <p><a href="https://www.youtube.com/watch?v=0d713-V4vrg"; 
target="_blank">019</a><br> Demonstrates how Apache Isis' <a 
href="guides/ugvw.html">Wicket viewer</a> remembers the state of rendered 
domain objects, and how the end-user of the application can clear these UI 
hints using the (framework-provided) <a 
href="guides/rgcms.html#__rgcms_classes_mixins_Object_clearHints">"clear 
hints"</a> action.</p> 
           </div>
          </div></td> 
         <td class="tableblock halign-left valign-top">
@@ -1618,7 +1618,7 @@
         <td class="tableblock halign-left valign-top">
          <div>
           <div class="paragraph"> 
-           <p><a href="https://www.youtube.com/watch?v=Kqch-XNlBMA"; 
target="_blank">020</a><br> Demonstrates how the end-user can copy and share 
URLs for domain objects - including UI hints - using Apache Isis' <a 
href="#guides/ugvw.adoc">Wicket viewer</a>.</p> 
+           <p><a href="https://www.youtube.com/watch?v=Kqch-XNlBMA"; 
target="_blank">020</a><br> Demonstrates how the end-user can copy and share 
URLs for domain objects - including UI hints - using Apache Isis' <a 
href="guides/ugvw.html">Wicket viewer</a>.</p> 
           </div>
          </div></td> 
         <td class="tableblock halign-left valign-top">
@@ -1652,7 +1652,7 @@
         <td class="tableblock halign-left valign-top">
          <div>
           <div class="paragraph"> 
-           <p><a href="https://www.youtube.com/watch?v=a0QQLT_16To"; 
target="_blank">021</a><br> Demonstrates how the end-user can use bookmarks and 
breadcrumbs within Apache Isis' <a href="#guides/ugvw.adoc">Wicket viewer</a>, 
and how the developer can ensure that <a 
href="guides/rgant.html#_rgant-DomainObjectLayout_bookmarking">domain 
objects</a> and (<a 
href="guides/rgant.html#_rgant-Action_semantics">query-only</a>) <a 
href="guides/rgant.html#_rgant-ActionLayout_bookmarking">actions</a> can be 
bookmarked.</p> 
+           <p><a href="https://www.youtube.com/watch?v=a0QQLT_16To"; 
target="_blank">021</a><br> Demonstrates how the end-user can use bookmarks and 
breadcrumbs within Apache Isis' <a href="guides/ugvw.html">Wicket viewer</a>, 
and how the developer can ensure that <a 
href="guides/rgant.html#_rgant-DomainObjectLayout_bookmarking">domain 
objects</a> and (<a 
href="guides/rgant.html#_rgant-Action_semantics">query-only</a>) <a 
href="guides/rgant.html#_rgant-ActionLayout_bookmarking">actions</a> can be 
bookmarked.</p> 
           </div>
          </div></td> 
         <td class="tableblock halign-left valign-top">
@@ -1764,7 +1764,7 @@
         <td class="tableblock halign-left valign-top">
          <div>
           <div class="paragraph"> 
-           <p><a href="https://www.youtube.com/watch?v=Wn5215K7_Jg"; 
target="_blank">022</a><br> Shows how to refactor a domain object to move an 
action implementation out of the domain object itself, and instead implement as 
a <a href="guides/ugbtb.html#_ugbtb_decoupling_mixins">mixin</a> (useful for 
decoupling).</p> 
+           <p><a href="https://www.youtube.com/watch?v=Wn5215K7_Jg"; 
target="_blank">022</a><br> Shows how to refactor a domain object to move an 
action implementation out of the domain object itself, and instead implement as 
a <a 
href="guides/ugfun/ugfun.html#_ugfun_building-blocks_types-of-domain-objects_mixins">mixin</a>
 (useful for decoupling).</p> 
           </div>
          </div></td> 
         <td class="tableblock halign-left valign-top">
@@ -1802,7 +1802,7 @@
         <td class="tableblock halign-left valign-top">
          <div>
           <div class="paragraph"> 
-           <p><a href="https://www.youtube.com/watch?v=m633OEBpWqQ"; 
target="_blank">023</a><br> Shows how to refactor a domain object to move 
(derived) collections out of the domain object and reimplement as a <a 
href="guides/ugbtb.html#_ugbtb_decoupling_mixins">mixin</a>.</p> 
+           <p><a href="https://www.youtube.com/watch?v=m633OEBpWqQ"; 
target="_blank">023</a><br> Shows how to refactor a domain object to move 
(derived) collections out of the domain object and reimplement as a <a 
href="guides/ugfun/ugfun.html#_ugfun_building-blocks_types-of-domain-objects_mixins">mixin</a>.</p>
 
           </div>
          </div></td> 
         <td class="tableblock halign-left valign-top">
@@ -1836,7 +1836,7 @@
         <td class="tableblock halign-left valign-top">
          <div>
           <div class="paragraph"> 
-           <p><a href="https://www.youtube.com/watch?v=-AQJb9GtIqI"; 
target="_blank">024</a><br> Using a domain event <a 
href="guides/rgcms.html#_rgcms_classes_super_AbstractSubscriber">subscriber</a> 
to <a href="guides/ugbtb.html#_ugbtb_decoupling_event-bus">decouple</a> and 
abstract business rules ( <a 
href="guides/rgcms.html#_rgcms_methods_prefixes_validate">validation</a>).</p> 
+           <p><a href="https://www.youtube.com/watch?v=-AQJb9GtIqI"; 
target="_blank">024</a><br> Using a domain event <a 
href="guides/rgcms.html#_rgcms_classes_super_AbstractSubscriber">subscriber</a> 
to <a 
href="guides/ugfun/ugfun.html#_ugfun_building-blocks_events_domain-events">decouple</a>
 and abstract business rules (<a 
href="guides/rgcms.html#_rgcms_methods_prefixes_validate">validation</a>).</p> 
           </div>
          </div></td> 
         <td class="tableblock halign-left valign-top">
@@ -2934,7 +2934,7 @@
         <td class="tableblock halign-left valign-top">
          <div>
           <div class="paragraph"> 
-           <p><a href="https://www.youtube.com/watch?v=esujf_DFeWA"; 
target="_blank">041</a><br> Using BigDecimal as a property within a domain 
object, also demonstrating the "summary" view within the <a 
href="#guides/ugvw.adoc">Wicket viewer</a>.</p> 
+           <p><a href="https://www.youtube.com/watch?v=esujf_DFeWA"; 
target="_blank">041</a><br> Using BigDecimal as a property within a domain 
object, also demonstrating the "summary" view within the <a 
href="guides/ugvw.html">Wicket viewer</a>.</p> 
           </div>
          </div></td> 
         <td class="tableblock halign-left valign-top">
@@ -3554,7 +3554,7 @@
         <td class="tableblock halign-left valign-top">
          <div>
           <div class="paragraph"> 
-           <p><a href="https://www.youtube.com/watch?v=puG-pzxRSd0"; 
target="_blank">052</a><br> How to write a <a 
href="guides/ugbtb.html#_ugbtb_view-models_jaxb">(JAXB) view model</a>, holding 
references to two domain objects.</p> 
+           <p><a href="https://www.youtube.com/watch?v=puG-pzxRSd0"; 
target="_blank">052</a><br> How to write a <a 
href="guides/ugfun/ugfun.html#_ugfun_programming-model_view-models_jaxb">(JAXB) 
view model</a>, holding references to two domain objects.</p> 
           </div>
          </div></td> 
         <td class="tableblock halign-left valign-top">
@@ -3592,7 +3592,7 @@
         <td class="tableblock halign-left valign-top">
          <div>
           <div class="paragraph"> 
-           <p><a href="https://www.youtube.com/watch?v=tdBkmA2CCZY"; 
target="_blank">053</a><br> Updating the title, icon and layout of a <a 
href="guides/ugbtb.html#_ugbtb_view-models_jaxb">(JAXB) view model</a>.</p> 
+           <p><a href="https://www.youtube.com/watch?v=tdBkmA2CCZY"; 
target="_blank">053</a><br> Updating the title, icon and layout of a <a 
href="guides/ugfun/ugfun.html#_ugfun_programming-model_view-models_jaxb">(JAXB) 
view model</a>.</p> 
           </div>
          </div></td> 
         <td class="tableblock halign-left valign-top">
@@ -3626,7 +3626,7 @@
         <td class="tableblock halign-left valign-top">
          <div>
           <div class="paragraph"> 
-           <p><a href="https://www.youtube.com/watch?v=TKF0FB_od00"; 
target="_blank">054</a><br> How to expose information from underlying domain 
entities referenced by a <a 
href="guides/ugbtb.html#_ugbtb_view-models_jaxb">(JAXB) view model</a> using 
derived properties</p> 
+           <p><a href="https://www.youtube.com/watch?v=TKF0FB_od00"; 
target="_blank">054</a><br> How to expose information from underlying domain 
entities referenced by a <a 
href="guides/ugfun/ugfun.html#_ugfun_programming-model_view-models_jaxb">(JAXB) 
view model</a> using derived properties</p> 
           </div>
          </div></td> 
         <td class="tableblock halign-left valign-top">
@@ -3660,7 +3660,7 @@
         <td class="tableblock halign-left valign-top">
          <div>
           <div class="paragraph"> 
-           <p><a href="https://www.youtube.com/watch?v=TMMeVhRNi8A"; 
target="_blank">055</a><br> Adding an action to a <a 
href="guides/ugbtb.html#_ugbtb_view-models_jaxb">(JAXB) view model</a>, and 
adjusting the layout using custom CSS.</p> 
+           <p><a href="https://www.youtube.com/watch?v=TMMeVhRNi8A"; 
target="_blank">055</a><br> Adding an action to a <a 
href="guides/ugfun/ugfun.html#_ugfun_programming-model_view-models_jaxb">(JAXB) 
view model</a>, and adjusting the layout using custom CSS.</p> 
           </div>
          </div></td> 
         <td class="tableblock halign-left valign-top">
@@ -3806,7 +3806,7 @@
         <td class="tableblock halign-left valign-top">
          <div>
           <div class="paragraph"> 
-           <p><a href="https://www.youtube.com/watch?v=J5xobU6X0ng"; 
target="_blank">057</a><br> How to rename a menu (on the top-level menubar) as 
rendered in the <a href="#guides/ugvw.adoc">Wicket viewer</a>.</p> 
+           <p><a href="https://www.youtube.com/watch?v=J5xobU6X0ng"; 
target="_blank">057</a><br> How to rename a menu (on the top-level menubar) as 
rendered in the <a href="guides/ugvw.html">Wicket viewer</a>.</p> 
           </div>
          </div></td> 
         <td class="tableblock halign-left valign-top">

http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/pages/tg/tg.html
----------------------------------------------------------------------
diff --git a/content/pages/tg/tg.html b/content/pages/tg/tg.html
index 2357eef..a6e9690 100644
--- a/content/pages/tg/tg.html
+++ b/content/pages/tg/tg.html
@@ -397,7 +397,7 @@
       <button type="button" class="button secondary" 
onclick="window.location.href=&quot;https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/pages/tg/_tg_pet-clinic.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 is a step-by-step tutorial to build up a simple "petclinic" 
application, starting from the <a 
href="ugfun.html#_ugfun_getting-started_simpleapp-archetype">SimpleApp 
archetype</a>. It was originally written by Jeroen van der Wal.</p> 
+        <p>This is a step-by-step tutorial to build up a simple "petclinic" 
application, starting from the <a 
href="../../guides/ugfun/ugfun.html#_ugfun_getting-started_simpleapp-archetype">SimpleApp
 archetype</a>. It was originally written by Jeroen van der Wal.</p> 
        </div> 
        <div class="paragraph"> 
         <p>It consists of just three domain classes (<a 
href="http://yuml.me/edit/3db2078c";>http://yuml.me/3db2078c</a>):</p> 
@@ -593,7 +593,7 @@ mvn -pl webapp antrun:run 
-Dmavenmixin-jettyconsole</code></pre>
        <div class="sect2"> 
         <h3 id="_dev_environment">2.5. Dev environment</h3> 
         <div class="paragraph"> 
-         <p>Set up <a href="dg.html#_dg_ide">an IDE</a> and import the project 
to be able to run and debug the app.</p> 
+         <p>Set up <a href="../../guides/dg/dg.html#_dg_ide">an IDE</a> and 
import the project to be able to run and debug the app.</p> 
         </div> 
         <div class="paragraph"> 
          <p>Then set up a launch configuration so that you can run the app 
from within the IDE. To save having to run the fixtures every time, specify the 
following system properties:</p> 
@@ -1285,7 +1285,7 @@ mvn clean install -D mavenmixin-jettyconsole</code></pre>
        <div class="sect2"> 
         <h3 id="_dev_environment_2">4.5. Dev environment</h3> 
         <div class="paragraph"> 
-         <p>Set up <a href="dg.html#_dg_ide">an IDE</a> and import the project 
to be able to run and debug the app.</p> 
+         <p>Set up <a href="../../guides/dg/dg.html#_dg_ide">an IDE</a> and 
import the project to be able to run and debug the app.</p> 
         </div> 
         <div class="paragraph"> 
          <p>Then set up a launch configuration and check that you can:</p> 
@@ -1294,7 +1294,7 @@ mvn clean install -D mavenmixin-jettyconsole</code></pre>
          <ul> 
           <li> <p>Run the app from within the IDE</p> </li> 
           <li> <p>Run the app in debug mode</p> </li> 
-          <li> <p>Run with different deploymentTypes; note whether prototype 
actions (those annotated <a 
href="rgant.html#_rgant-Action_restrictTo"><code>@Action(restrictTo=PROTOTYPING</code></a>)
 are available or not:</p> </li> 
+          <li> <p>Run with different deploymentTypes; note whether prototype 
actions (those annotated <a 
href="../../guides/rgant/rgant.html#_rgant-Action_restrictTo"><code>@Action(restrictTo=PROTOTYPING</code></a>)
 are available or not:</p> </li> 
           <li> <p><code>--type SERVER_PROTOTYPE</code></p> </li> 
           <li> <p><code>--type SERVER</code></p> </li> 
          </ul> 
@@ -1433,9 +1433,9 @@ mvn clean install -D mavenmixin-jettyconsole</code></pre>
              <li> <p>for <code>Pet</code>, can leave <code>name</code> 
property as is</p> </li> 
             </ul> 
            </div> </li> 
-          <li> <p>specify a <a 
href="ugfun.html#_ugfun_how-tos_ui-hints_object-titles-and-icons">title</a></p> 
</li> 
-          <li> <p>specify an <a 
href="ugfun.html#_ugfun_how-tos_ui-hints_object-titles-and-icons">icon</a></p> 
</li> 
-          <li> <p>make the entity bookmarkable by adding the <a 
href="rgant.html#_rgant-DomainObjectLayout_bookmarking"><code>@DomainObjectLayout#bookmarking()</code></a>
 attribute.</p> </li> 
+          <li> <p>specify a <a 
href="../../guides/ugfun/ugfun.html#_ugfun_ui-hints_object-titles-and-icons">title</a></p>
 </li> 
+          <li> <p>specify an <a 
href="../../guides/ugfun/ugfun.html#_ugfun_ui-hints_object-titles-and-icons">icon</a></p>
 </li> 
+          <li> <p>make the entity bookmarkable by adding the <a 
href="../../guides/rgant/rgant.html#_rgant-DomainObjectLayout_bookmarking"><code>@DomainObjectLayout#bookmarking()</code></a>
 attribute.</p> </li> 
           <li> <p>confirm is available from bookmark panel (top-left of Wicket 
UI)</p> </li> 
          </ul> 
         </div> 
@@ -1459,7 +1459,7 @@ mvn clean install -D mavenmixin-jettyconsole</code></pre>
           <li> <p>review <code>create</code> action (acting as a factory)</p> 
            <div class="ulist"> 
             <ul> 
-             <li> <p>as per the docs describing <a 
href="ugfun.html#_ugfun_how-tos_crud">how to create or delete objects</a></p> 
</li> 
+             <li> <p>as per the docs describing <a 
href="../../guides/ugfun/ugfun.html#_ugfun_crud">how to create or delete 
objects</a></p> </li> 
             </ul> 
            </div> </li> 
           <li> <p>rename if you wish</p> 
@@ -1469,7 +1469,7 @@ mvn clean install -D mavenmixin-jettyconsole</code></pre>
             </ul> 
            </div> </li> 
           <li> <p>review <code>listAll</code> action (acting as a 
repository)</p> </li> 
-          <li> <p>as per the docs describing <a 
href="ugfun.html#_ugfun_how-tos_crud">how to write a custom repository</a></p> 
</li> 
+          <li> <p>as per the docs describing <a 
href="../../guides/ugfun/ugfun.html#_ugfun_crud">how to write a custom 
repository</a></p> </li> 
           <li> <p>note the annotations on the corresponding domain class 
(originally called <code>SimpleObject</code>, though renamed by now, eg to 
<code>Pet</code>)</p> </li> 
           <li> <p>rename if you wish</p> 
            <div class="ulist"> 
@@ -1477,7 +1477,7 @@ mvn clean install -D mavenmixin-jettyconsole</code></pre>
              <li> <p>eg <code>listPets()</code></p> </li> 
             </ul> 
            </div> </li> 
-          <li> <p>note the <a 
href="rgant.html#_rgant-DomainService"><code>@DomainService</code></a> 
annotation</p> </li> 
+          <li> <p>note the <a 
href="../../guides/rgant/rgant.html#_rgant-DomainService"><code>@DomainService</code></a>
 annotation</p> </li> 
           <li> <p>optional: add an action to a return subset of objects</p> 
            <div class="ulist"> 
             <ul> 
@@ -1497,7 +1497,7 @@ mvn clean install -D mavenmixin-jettyconsole</code></pre>
          <ul> 
           <li> <p>rename the <code>SimpleObjectsTearDownFixture</code> 
class</p> </li> 
           <li> <p>and update to delete from the appropriate underlying 
database table(s)</p> </li> 
-          <li> <p>use the injected <a 
href="rgsvc.html#_rgsvc_api_IsisJdoSupport"><code>IsisJdoSupport</code></a> 
domain service.</p> </li> 
+          <li> <p>use the injected <a 
href="../../guides/rgsvc/rgsvc.html#_rgsvc_api_IsisJdoSupport"><code>IsisJdoSupport</code></a>
 domain service.</p> </li> 
           <li> <p>refactor/rename the fixture script classes that create 
instances your entity:</p> </li> 
           <li> <p><code>RecreateSimpleObjects</code>, which sets up a set of 
objects for a given scenario</p> </li> 
           <li> <p><code>SimpleObjectCreate</code> which creates a single 
object</p> </li> 
@@ -1513,9 +1513,9 @@ mvn clean install -D mavenmixin-jettyconsole</code></pre>
         <div class="ulist"> 
          <ul> 
           <li> <p>write an action to update the domain property (originally 
called <code>SimpleObject#name</code>, though renamed by now)</p> </li> 
-          <li> <p>use the <a 
href="rgant.html#_rgant-ParameterLayout_named"><code>@ParameterLayout(named=…​)</code></a>
 annotation to specify the name of action parameters</p> </li> 
-          <li> <p>use the <a 
href="rgant.html#_rgant-Action_semantics"><code>@Action(semanticsOf=…​)</code></a>
 annotation to indicate the semantics of the action (safe/query-only, 
idempotent or non-idempotent)</p> </li> 
-          <li> <p>annotate safe action as bookmarkable using <a 
href="rgant.html#_rgant-ActionLayout_bookmarking"><code>@ActionLayout(bookmarking=…​)</code></a></p>
 </li> 
+          <li> <p>use the <a 
href="../../guides/rgant/rgant.html#_rgant-ParameterLayout_named"><code>@ParameterLayout(named=…​)</code></a>
 annotation to specify the name of action parameters</p> </li> 
+          <li> <p>use the <a 
href="../../guides/rgant/rgant.html#_rgant-Action_semantics"><code>@Action(semanticsOf=…​)</code></a>
 annotation to indicate the semantics of the action (safe/query-only, 
idempotent or non-idempotent)</p> </li> 
+          <li> <p>annotate safe action as bookmarkable using <a 
href="../../guides/rgant/rgant.html#_rgant-ActionLayout_bookmarking"><code>@ActionLayout(bookmarking=…​)</code></a></p>
 </li> 
           <li> <p>confirm is available from bookmark panel (top-left of Wicket 
UI)</p> </li> 
           <li> <p>optional: add an action to clone an object</p> </li> 
          </ul> 
@@ -1547,7 +1547,7 @@ mvn clean install -D mavenmixin-jettyconsole</code></pre>
         </div> 
         <div class="ulist"> 
          <ul> 
-          <li> <p>experiment changing <a 
href="rgant.html#_rgant-Action_semantics"><code>@Action(semantics=…​)</code></a>
 on actions</p> </li> 
+          <li> <p>experiment changing <a 
href="../../guides/rgant/rgant.html#_rgant-Action_semantics"><code>@Action(semantics=…​)</code></a>
 on actions</p> </li> 
           <li> <p>note the HTTP methods exposed in the REST API change</p> 
</li> 
           <li> <p>note whether the non-safe actions are bookmarkable (assuming 
that it has been annotated with <code>@ActionLayout(bookmarking=…​)</code>, 
that is).</p> </li> 
          </ul> 
@@ -1560,36 +1560,36 @@ mvn clean install -D 
mavenmixin-jettyconsole</code></pre>
         </div> 
         <div class="ulist"> 
          <ul> 
-          <li> <p>add some <a 
href="ugfun.html#_ugfun_how-tos_class-structure_properties">value 
properties</a>; also:</p> </li> 
+          <li> <p>add some <a 
href="../../guides/ugfun/ugfun.html#_ugfun_programming-model_properties">value 
properties</a>; also:</p> </li> 
           <li> <p>for string properties</p> 
            <div class="ulist"> 
             <ul> 
-             <li> <p>use the <a 
href="rgant.html#_rgant-PropertyLayout_multiLine"><code>@PropertyLayout(multiLine=…​)</code></a>
 annotation to render a text area instead of a text box</p> </li> 
-             <li> <p>use the <a 
href="rgant.html#_rgant-Property_maxLength"><code>@Property(maxLength=…​)</code></a>
 annotation to specify the maximum number of characters allowable</p> </li> 
+             <li> <p>use the <a 
href="../../guides/rgant/rgant.html#_rgant-PropertyLayout_multiLine"><code>@PropertyLayout(multiLine=…​)</code></a>
 annotation to render a text area instead of a text box</p> </li> 
+             <li> <p>use the <a 
href="../../guides/rgant/rgant.html#_rgant-Property_maxLength"><code>@Property(maxLength=…​)</code></a>
 annotation to specify the maximum number of characters allowable</p> </li> 
              <li> <p>use joda date/time properties, bigdecimals and blob/clob 
properties</p> </li> 
             </ul> 
            </div> </li> 
-          <li> <p>use the <a 
href="rgant.html#_rgant-Property_optionality"><code>@Column(allowsNull=…​)</code></a>
 annotation specify whether a property is optional or mandatory</p> </li> 
+          <li> <p>use the <a 
href="../../guides/rgant/rgant.html#_rgant-Property_optionality"><code>@Column(allowsNull=…​)</code></a>
 annotation specify whether a property is optional or mandatory</p> </li> 
           <li> <p>use enums for properties (eg as used in the Isis addons 
example <a href="https://github.com/isisaddons/isis-app-todoapp";>todoapp</a>, 
see <a 
href="https://github.com/apache/isis/blob/b3e936c9aae28754fb46c2df52b1cb9b023f9ab8/example/application/todoapp/dom/src/main/java/dom/todo/ToDoItem.java#L207";>here</a>
 and <a 
href="https://github.com/apache/isis/blob/b3e936c9aae28754fb46c2df52b1cb9b023f9ab8/example/application/todoapp/dom/src/main/java/dom/todo/ToDoItem.java#L266";>here</a>)</p>
 </li> 
           <li> <p>update the corresponding domain service for creating new 
instances</p> </li> 
           <li> <p>for all non-optional properties will either need to prompt 
for a value, or calculate some suitable default</p> </li> 
           <li> <p>change the implementation of title, if need be</p> </li> 
-          <li> <p>revisit the title, consider whether to use the <a 
href="rgant.html#_rgant-Title"><code>@Title</code></a> annotation</p> 
+          <li> <p>revisit the title, consider whether to use the <a 
href="../../guides/rgant/rgant.html#_rgant-Title"><code>@Title</code></a> 
annotation</p> 
            <div class="ulist"> 
             <ul> 
-             <li> <p>rather than the <a 
href="rgcms.html#_rgcms_methods_reserved_title"><code>title()</code></a> 
method</p> </li> 
+             <li> <p>rather than the <a 
href="../../guides/rgcms/rgcms.html#_rgcms_methods_reserved_title"><code>title()</code></a>
 method</p> </li> 
             </ul> 
            </div> </li> 
-          <li> <p>order the properties using the <a 
href="rgant.html#_rgant-MemberOrder"><code>@MemberOrder</code></a>, also 
<code>@MemberGroupLayout</code></p> 
+          <li> <p>order the properties using the <a 
href="../../guides/rgant/rgant.html#_rgant-MemberOrder"><code>@MemberOrder</code></a>,
 also <code>@MemberGroupLayout</code></p> 
            <div class="ulist"> 
             <ul> 
-             <li> <p>see also the docs on <a 
href="ugfun.html#_ugfun_object-layout_static">static layouts</a></p> </li> 
+             <li> <p>see also the docs on <a 
href="../../guides/ugvw/ugvw.html#_ugvw_layout_annotation-based">static 
layouts</a></p> </li> 
             </ul> 
            </div> </li> 
-          <li> <p>use the <a 
href="rgant.html#_rgant-PropertyLayout"><code>@PropertyLayout</code></a> 
annotation to position property/action parameter labels either to the LEFT, TOP 
or NONE</p> 
+          <li> <p>use the <a 
href="../../guides/rgant/rgant.html#_rgant-PropertyLayout"><code>@PropertyLayout</code></a>
 annotation to position property/action parameter labels either to the LEFT, 
TOP or NONE</p> 
            <div class="ulist"> 
             <ul> 
-             <li> <p>do the same for parameters using <a 
href="rgant.html#_rgant-ParameterLayout"><code>@ParameterLayout</code></a></p> 
</li> 
+             <li> <p>do the same for parameters using <a 
href="../../guides/rgant/rgant.html#_rgant-ParameterLayout"><code>@ParameterLayout</code></a></p>
 </li> 
             </ul> 
            </div> </li> 
          </ul> 
@@ -1602,20 +1602,20 @@ mvn clean install -D 
mavenmixin-jettyconsole</code></pre>
         </div> 
         <div class="ulist"> 
          <ul> 
-          <li> <p>add some <a 
href="ugfun.html#_ugfun_how-tos_class-structure_properties">reference 
properties</a></p> </li> 
+          <li> <p>add some <a 
href="../../guides/ugfun/ugfun.html#_ugfun_programming-model_properties">reference
 properties</a></p> </li> 
           <li> <p>update the corresponding domain service (for creation 
actoin)</p> </li> 
           <li> <p>use different techniques to obtain references (shown in 
drop-down list box)</p> 
            <div class="ulist"> 
             <ul> 
-             <li> <p>use the <a 
href="rgant.html#_rgant-DomainObject_bounded"><code>@DomainObjectLayout(bounded=…​)</code></a>
 annotation on the referenced type if there are only a small number (bounded) 
of instances</p> </li> 
-             <li> <p>use a <a 
href="rgcms.html#_rgcms_methods_prefixes_choices"><code>choices…​()</code></a>
 supporting method</p> 
+             <li> <p>use the <a 
href="../../guides/rgant/rgant.html#_rgant-DomainObject_bounded"><code>@DomainObjectLayout(bounded=…​)</code></a>
 annotation on the referenced type if there are only a small number (bounded) 
of instances</p> </li> 
+             <li> <p>use a <a 
href="../../guides/rgcms/rgcms.html#_rgcms_methods_prefixes_choices"><code>choices…​()</code></a>
 supporting method</p> 
               <div class="ulist"> 
                <ul> 
                 <li> <p>on a property</p> </li> 
                 <li> <p>on an action parameter</p> </li> 
                </ul> 
               </div> </li> 
-             <li> <p>use a <a 
href="rgcms.html#_rgcms_methods_prefixes_autoComplete"><code>autoComplete…​()</code></a>
 supporting method</p> 
+             <li> <p>use a <a 
href="../../guides/rgcms/rgcms.html#_rgcms_methods_prefixes_autoComplete"><code>autoComplete…​()</code></a>
 supporting method</p> 
               <div class="ulist"> 
                <ul> 
                 <li> <p>on a property</p> </li> 
@@ -1634,7 +1634,7 @@ mvn clean install -D mavenmixin-jettyconsole</code></pre>
         </div> 
         <div class="ulist"> 
          <ul> 
-          <li> <p>Add <a 
href="ugfun.html#_ugfun_how-tos_drop-downs-and-defaults">defaults</a> for 
action parameters</p> </li> 
+          <li> <p>Add <a 
href="../../guides/ugfun/ugfun.html#_ugfun_drop-downs-and-defaults">defaults</a>
 for action parameters</p> </li> 
          </ul> 
         </div> 
        </div> 
@@ -1648,7 +1648,7 @@ mvn clean install -D mavenmixin-jettyconsole</code></pre>
           <li> <p>Ensure that all domain classes implement 
<code>java.lang.Comparable</code></p> 
            <div class="ulist"> 
             <ul> 
-             <li> <p>use the <a 
href="rgcms.html#_rgcms_classes_utility_ObjectContracts"><code>ObjectContracts</code></a>
 utility class to help implement <code>Comparable</code></p> 
+             <li> <p>use the <a 
href="../../guides/rgcms/rgcms.html#_rgcms_classes_utility_ObjectContracts"><code>ObjectContracts</code></a>
 utility class to help implement <code>Comparable</code></p> 
               <div class="ulist"> 
                <ul> 
                 <li> <p>you can also implement <code>equals()</code>, 
<code>hashCode()</code>, <code>toString()</code></p> </li> 
@@ -1656,14 +1656,14 @@ mvn clean install -D 
mavenmixin-jettyconsole</code></pre>
               </div> </li> 
             </ul> 
            </div> </li> 
-          <li> <p>Add a <a 
href="ugfun.html#_ugfun_how-tos_class-structure_collections">collection</a> to 
one of the entities</p> 
+          <li> <p>Add a <a 
href="../../guides/ugfun/ugfun.html#_ugfun_programming-model_collections">collection</a>
 to one of the entities</p> 
            <div class="ulist"> 
             <ul> 
              <li> <p>Use <code>SortedSet</code> as the class</p> </li> 
-             <li> <p>Use the <a 
href="rgant.html#_rgant-CollectionLayout_render"><code>@CollectionLayout(render=…​)</code></a>
 annotation to indicate if the collection should be visible or hidden by 
default</p> </li> 
+             <li> <p>Use the <a 
href="../../guides/rgant/rgant.html#_rgant-CollectionLayout_render"><code>@CollectionLayout(render=…​)</code></a>
 annotation to indicate if the collection should be visible or hidden by 
default</p> </li> 
             </ul> 
            </div> </li> 
-          <li> <p>optional: use the <a 
href="rgant.html#_rgant-CollectionLayout_sortedBy"><code>@CollectionLayout(sortedBy=…​)</code></a>
 annotation to specify a different comparator than the natural ordering</p> 
</li> 
+          <li> <p>optional: use the <a 
href="../../guides/rgant/rgant.html#_rgant-CollectionLayout_sortedBy"><code>@CollectionLayout(sortedBy=…​)</code></a>
 annotation to specify a different comparator than the natural ordering</p> 
</li> 
          </ul> 
         </div> 
        </div> 
@@ -1675,14 +1675,14 @@ mvn clean install -D 
mavenmixin-jettyconsole</code></pre>
         <div class="ulist"> 
          <ul> 
           <li> <p>Add domain actions to add/remove from the collection</p> 
</li> 
-          <li> <p>to create objects, <a 
href="ugfun.html#_ugfun_how-tos_class-structure_inject-services">inject</a> 
associated domain service</p> 
+          <li> <p>to create objects, <a 
href="../../guides/ugfun/ugfun.html#_ugfun_programming-model_inject-services">inject</a>
 associated domain service</p> 
            <div class="ulist"> 
             <ul> 
-             <li> <p>generally we recommend using the <a 
href="rgant.html#_rgant-Inject"><code>@Inject</code></a> annotation with either 
private or default visibility</p> </li> 
+             <li> <p>generally we recommend using the <a 
href="../../guides/rgant/rgant.html#_rgant-Inject"><code>@Inject</code></a> 
annotation with either private or default visibility</p> </li> 
             </ul> 
            </div> </li> 
-          <li> <p>the service itself should use <a 
href="rgsvc.html#_rgsvc_api_DomainObjectContainer"><code>DomainObjectContainer</code></a></p>
 </li> 
-          <li> <p>use the <a 
href="rgant.html#_rgant-MemberOrder"><code>@MemberOrder(name=…​)</code></a> 
annotation to associate an action with a property or with a collection</p> 
</li> 
+          <li> <p>the service itself should use <a 
href="../../guides/rgsvc/rgsvc.html#_rgsvc_api_DomainObjectContainer"><code>DomainObjectContainer</code></a></p>
 </li> 
+          <li> <p>use the <a 
href="../../guides/rgant/rgant.html#_rgant-MemberOrder"><code>@MemberOrder(name=…​)</code></a>
 annotation to associate an action with a property or with a collection</p> 
</li> 
          </ul> 
         </div> 
        </div> 
@@ -1693,25 +1693,25 @@ mvn clean install -D 
mavenmixin-jettyconsole</code></pre>
         </div> 
         <div class="ulist"> 
          <ul> 
-          <li> <p>the bootstrap "btn" CSS classes can be used using the <a 
href="rgant.html#_rgant-ActionLayout_cssClass"><code>@ActionLayout(cssClass=…​)</code></a>
 annotation</p> </li> 
-          <li> <p>the <a 
href="http://fortawesome.github.io/Font-Awesome/icons/";>Font Awesome</a> icons 
can be used using the <a 
href="rgant.html#_rgant-ActionLayout_cssClassFa"><code>@ActionLayout(cssClassFa=…​)</code></a></p>
 </li> 
+          <li> <p>the bootstrap "btn" CSS classes can be used using the <a 
href="../../guides/rgant/rgant.html#_rgant-ActionLayout_cssClass"><code>@ActionLayout(cssClass=…​)</code></a>
 annotation</p> </li> 
+          <li> <p>the <a 
href="http://fortawesome.github.io/Font-Awesome/icons/";>Font Awesome</a> icons 
can be used using the <a 
href="../../guides/rgant/rgant.html#_rgant-ActionLayout_cssClassFa"><code>@ActionLayout(cssClassFa=…​)</code></a></p>
 </li> 
          </ul> 
         </div> 
         <div class="paragraph"> 
-         <p>It’s also possible to use Font Awesome icons for the <a 
href="ugfun.html#_ugfun_how-tos_ui-hints_object-titles-and-icons">domain object 
icon</a>.</p> 
+         <p>It’s also possible to use Font Awesome icons for the <a 
href="../../guides/ugfun/ugfun.html#_ugfun_ui-hints_object-titles-and-icons">domain
 object icon</a>.</p> 
         </div> 
         <div class="paragraph"> 
          <p>So: - for some of the actions of your domain services or entities, 
annotate using <code>@ActionLayout(cssClass=…​)</code> or 
<code>@ActionLayout(cssClassFa=…​)</code></p> 
         </div> 
        </div> 
        <div class="sect2"> 
-        <h3 id="_dynamic_layout">4.22. Dynamic Layout</h3> 
+        <h3 id="_file_based_layout">4.22. File-based Layout</h3> 
         <div class="paragraph"> 
-         <p>Up to this point we’ve been using annotations 
(<code>@MemberOrder</code>, <code>@MemberGroupLayout</code>, 
<code>@Named</code>, <code>@PropertyLayout</code>, 
<code>@ParameterLayout</code>, <code>@ActionLayout</code> and so on) for UI 
hints. However, the feedback loop is not good: it requires us stopping the app, 
editing the code, recompiling and running again. So instead, all these UI hints 
(and more) can be specified dynamically, using a corresponding 
<code>.layout.json</code> file. If edited while the app is running, it will be 
reloaded automatically (in IntelliJ, use Run&gt;Reload Changed Classes):</p> 
+         <p>Up to this point we’ve been using annotations 
(<code>@MemberOrder</code>, <code>@MemberGroupLayout</code>, 
<code>@Named</code>, <code>@PropertyLayout</code>, 
<code>@ParameterLayout</code>, <code>@ActionLayout</code> and so on) for UI 
hints. However, the feedback loop is not good: it requires us stopping the app, 
editing the code, recompiling and running again. So instead, all these UI hints 
(and more) can be specified dynamically, using a corresponding 
<code>.layout.xml</code> file. If edited while the app is running, it will be 
reloaded automatically (in IntelliJ, use Run&gt;Reload Changed Classes):</p> 
         </div> 
         <div class="ulist"> 
          <ul> 
-          <li> <p>Delete the various hint annotations and instead specify 
layout hints using a <a 
href="ugfun.html#_ugfun_object-layout_dynamic">.layout.json</a> file.</p> </li> 
+          <li> <p>Delete the various hint annotations and instead specify 
layout hints using a <a 
href="../../guides/ugvw/ugvw.html#_ugvw_layout_file-based">.layout.xml</a> 
file.</p> </li> 
          </ul> 
         </div> 
        </div> 
@@ -1734,14 +1734,14 @@ mvn clean install -D 
mavenmixin-jettyconsole</code></pre>
          <h4 id="_see_it">4.23.1. See it!</h4> 
          <div class="ulist"> 
           <ul> 
-           <li> <p>Use the <a 
href="rgant.html#_rgant-Property_hidden"><code>Property(hidden=…​)</code></a>
 annotation to make properties invisible</p> 
+           <li> <p>Use the <a 
href="../../guides/rgant/rgant.html#_rgant-Property_hidden"><code>Property(hidden=…​)</code></a>
 annotation to make properties invisible</p> 
             <div class="ulist"> 
              <ul> 
-              <li> <p>likewise <a 
href="rgant.html#_rgant-Collection_hidden"><code>@Collection(hidden=…​)</code></a>
 for collections</p> </li> 
-              <li> <p>the <a 
href="rgant.html#_rgant-Programmatic"><code>@Programmatic</code></a> annotation 
can also be used and in many cases is to be preferred; the difference is that 
the latter means the member is not part of the Apache Isis metamodel.</p> </li> 
+              <li> <p>likewise <a 
href="../../guides/rgant/rgant.html#_rgant-Collection_hidden"><code>@Collection(hidden=…​)</code></a>
 for collections</p> </li> 
+              <li> <p>the <a 
href="../../guides/rgant/rgant.html#_rgant-Programmatic"><code>@Programmatic</code></a>
 annotation can also be used and in many cases is to be preferred; the 
difference is that the latter means the member is not part of the Apache Isis 
metamodel.</p> </li> 
              </ul> 
             </div> </li> 
-           <li> <p>Use the <a 
href="rgcms.html#_rgcms_methods_prefixes_hide"><code>hide…​()</code></a> 
supporting method on properties, collections and actions to make a 
property/collection/action invisible according to some imperative rule</p> 
</li> 
+           <li> <p>Use the <a 
href="../../guides/rgcms/rgcms.html#_rgcms_methods_prefixes_hide"><code>hide…​()</code></a>
 supporting method on properties, collections and actions to make a 
property/collection/action invisible according to some imperative rule</p> 
</li> 
           </ul> 
          </div> 
         </div> 
@@ -1749,14 +1749,14 @@ mvn clean install -D 
mavenmixin-jettyconsole</code></pre>
          <h4 id="_use_it">4.23.2. Use it!</h4> 
          <div class="ulist"> 
           <ul> 
-           <li> <p>Use the <a 
href="rgant.html#_rgant-Property_editing"><code>Property(editing=…​)</code></a>
 annotation to make property read-only</p> 
+           <li> <p>Use the <a 
href="../../guides/rgant/rgant.html#_rgant-Property_editing"><code>Property(editing=…​)</code></a>
 annotation to make property read-only</p> 
             <div class="ulist"> 
              <ul> 
-              <li> <p>likewise <a 
href="rgant.html#_rgant-Collection_editing"><code>@Collection(editing=…​)</code></a>
 for collections</p> </li> 
-              <li> <p>alternatively, use <a 
href="rgant.html#_rgant-DomainObject_editing"><code>@DomainObject(editing=…​)</code></a>
 to disable editing for all properties/collections</p> </li> 
+              <li> <p>likewise <a 
href="../../guides/rgant/rgant.html#_rgant-Collection_editing"><code>@Collection(editing=…​)</code></a>
 for collections</p> </li> 
+              <li> <p>alternatively, use <a 
href="../../guides/rgant/rgant.html#_rgant-DomainObject_editing"><code>@DomainObject(editing=…​)</code></a>
 to disable editing for all properties/collections</p> </li> 
              </ul> 
             </div> </li> 
-           <li> <p>Use the <a 
href="rgcms.html#_rgcms_methods_prefixes_disable"><code>disable…​()</code></a>
 supporting method on properties and actions to make a property/action disabled 
according to some imperative rule</p> </li> 
+           <li> <p>Use the <a 
href="../../guides/rgcms/rgcms.html#_rgcms_methods_prefixes_disable"><code>disable…​()</code></a>
 supporting method on properties and actions to make a property/action disabled 
according to some imperative rule</p> </li> 
           </ul> 
          </div> 
         </div> 
@@ -1764,13 +1764,13 @@ mvn clean install -D 
mavenmixin-jettyconsole</code></pre>
          <h4 id="_do_it">4.23.3. Do it!</h4> 
          <div class="ulist"> 
           <ul> 
-           <li> <p>use the <a 
href="rgant.html#_rgant-Property_regexPattern"><code>@Property(regexPattern=…​)</code></a>
 annotation to specify a regex pattern for properties, and use <a 
href="rgant.html#_rgant-Parameter_regexPattern"><code>@Parameter(regexPattern=…​)</code></a>
 for parameters</p> </li> 
-           <li> <p>use the <a 
href="rgant.html#_rgant-Property_maxLength"><code>@Property(maxLength=…​)</code></a>
 annotation to indicate a maxmum number of characters, and <a 
href="rgant.html#_rgant-Parameter_maxLength"><code>@Parameter(maxLength=…​)</code></a>
 for parameters</p> </li> 
-           <li> <p>Use the <a 
href="rgcms.html#_rgcms_methods_prefixes_validate"><code>validate…​()</code></a>
 supporting method on properties or action parameter</p> </li> 
+           <li> <p>use the <a 
href="../../guides/rgant/rgant.html#_rgant-Property_regexPattern"><code>@Property(regexPattern=…​)</code></a>
 annotation to specify a regex pattern for properties, and use <a 
href="../../guides/rgant/rgant.html#_rgant-Parameter_regexPattern"><code>@Parameter(regexPattern=…​)</code></a>
 for parameters</p> </li> 
+           <li> <p>use the <a 
href="../../guides/rgant/rgant.html#_rgant-Property_maxLength"><code>@Property(maxLength=…​)</code></a>
 annotation to indicate a maxmum number of characters, and <a 
href="../../guides/rgant/rgant.html#_rgant-Parameter_maxLength"><code>@Parameter(maxLength=…​)</code></a>
 for parameters</p> </li> 
+           <li> <p>Use the <a 
href="../../guides/rgcms/rgcms.html#_rgcms_methods_prefixes_validate"><code>validate…​()</code></a>
 supporting method on properties or action parameter</p> </li> 
            <li> <p>optional: for any data type:</p> 
             <div class="ulist"> 
              <ul> 
-              <li> <p>use the <a 
href="rgant.html#_rgant-Property_mustSatisfy"><code>Property(mustSatisfy=…​)</code></a>
 and <a 
href="rgant.html#_rgant-Parameter_mustSatisfy"><code>Parameter(mustSatisfy=…​)</code></a>
 annotations to specify arbitrary constraints on properties and parameters</p> 
</li> 
+              <li> <p>use the <a 
href="../../guides/rgant/rgant.html#_rgant-Property_mustSatisfy"><code>Property(mustSatisfy=…​)</code></a>
 and <a 
href="../../guides/rgant/rgant.html#_rgant-Parameter_mustSatisfy"><code>Parameter(mustSatisfy=…​)</code></a>
 annotations to specify arbitrary constraints on properties and parameters</p> 
</li> 
              </ul> 
             </div> </li> 
           </ul> 
@@ -1784,7 +1784,7 @@ mvn clean install -D mavenmixin-jettyconsole</code></pre>
         </div> 
         <div class="ulist"> 
          <ul> 
-          <li> <p>Add the <a 
href="rgant.html#_rgant-HomePage"><code>@HomePage</code></a> annotation to one 
(no more) of the domain services' no-arg actions</p> </li> 
+          <li> <p>Add the <a 
href="../../guides/rgant/rgant.html#_rgant-HomePage"><code>@HomePage</code></a> 
annotation to one (no more) of the domain services' no-arg actions</p> </li> 
          </ul> 
         </div> 
        </div> 
@@ -1796,7 +1796,7 @@ mvn clean install -D mavenmixin-jettyconsole</code></pre>
         <div class="ulist"> 
          <ul> 
           <li> <p>remove any dependencies on system time (eg defaults for 
date/time action parameters)</p> </li> 
-          <li> <p>inject <a 
href="rgsvc.html#_rgsvc_api_ClockService"><code>ClockService</code></a></p> 
</li> 
+          <li> <p>inject <a 
href="../../guides/rgsvc/rgsvc.html#_rgsvc_api_ClockService"><code>ClockService</code></a></p>
 </li> 
           <li> <p>call <code>ClockService.now()</code> etc where required.</p> 
</li> 
          </ul> 
         </div> 
@@ -1823,7 +1823,7 @@ mvn clean install -D mavenmixin-jettyconsole</code></pre>
             <div class="ulist"> 
              <ul> 
               <li> <p>by convention, called "XxxContributions"</p> </li> 
-              <li> <p>annotate with <a 
href="rgant.html#_rgant-DomainService_nature"><code>@DomainService(nature=NatureOfService.VIEW_CONTRIBUTIONS_ONLY)</code></a></p>
 
+              <li> <p>annotate with <a 
href="../../guides/rgant/rgant.html#_rgant-DomainService_nature"><code>@DomainService(nature=NatureOfService.VIEW_CONTRIBUTIONS_ONLY)</code></a></p>
 
                <div class="ulist"> 
                 <ul> 
                  <li> <p>indicates that all of the service’s actions should 
<em>not</em> be included in the main application menu bar</p> </li> 
@@ -1852,7 +1852,7 @@ mvn clean install -D mavenmixin-jettyconsole</code></pre>
            <li> <p>For this action:</p> 
             <div class="ulist"> 
              <ul> 
-              <li> <p>add the <a 
href="rgant.html#_rgant-ActionLayout_contributedAs"><code>@ActionLayout(contributedAs=ASSOCIATION)</code></a>
 annotation</p> </li> 
+              <li> <p>add the <a 
href="../../guides/rgant/rgant.html#_rgant-ActionLayout_contributedAs"><code>@ActionLayout(contributedAs=ASSOCIATION)</code></a>
 annotation</p> </li> 
               <li> <p>should be rendered in the UI "as if" a collection of the 
entity</p> </li> 
              </ul> 
             </div> </li> 
@@ -1873,7 +1873,7 @@ mvn clean install -D mavenmixin-jettyconsole</code></pre>
            <li> <p>For this action:</p> 
             <div class="ulist"> 
              <ul> 
-              <li> <p>add the <a 
href="rgant.html#_rgant-ActionLayout_contributedAs"><code>@ActionLayout(contributedAs=ASSOCIATION)</code></a>
 annotation</p> </li> 
+              <li> <p>add the <a 
href="../../guides/rgant/rgant.html#_rgant-ActionLayout_contributedAs"><code>@ActionLayout(contributedAs=ASSOCIATION)</code></a>
 annotation</p> </li> 
              </ul> 
             </div> </li> 
            <li> <p>should be rendered in the UI "as if" a property of the 
entity</p> </li> 
@@ -1891,10 +1891,10 @@ mvn clean install -D 
mavenmixin-jettyconsole</code></pre>
          <p>Under the covers Apache Isis uses the <a 
href="https://code.google.com/p/guava-libraries/wiki/EventBusExplained";>Guava 
event bus</a> and subscribers (always domain services) subscribe by writing 
methods annotated with <code>@com.google.common.eventbus.Subscribe</code> 
annotation.</p> 
         </div> 
         <div class="paragraph"> 
-         <p>By default the events generated are 
<code>ActionDomainEvent.Default</code> (for actions) and 
<code>PropertyDomainEvent.Default</code> (for properties). Subclasses of these 
can be specified using the <a 
href="rgant.html#_rgant-Action_domainEvent"><code>@Action(domainEvent=…​)</code></a>
 or <a 
href="rgant.html#_rgant-Property_domainEvent"><code>Property(domainEvent=…​)</code></a>
 for properties.</p> 
+         <p>By default the events generated are 
<code>ActionDomainEvent.Default</code> (for actions) and 
<code>PropertyDomainEvent.Default</code> (for properties). Subclasses of these 
can be specified using the <a 
href="../../guides/rgant/rgant.html#_rgant-Action_domainEvent"><code>@Action(domainEvent=…​)</code></a>
 or <a 
href="../../guides/rgant/rgant.html#_rgant-Property_domainEvent"><code>Property(domainEvent=…​)</code></a>
 for properties.</p> 
         </div> 
         <div class="paragraph"> 
-         <p>Using the guidance in the docs for the <a 
href="rgsvc.html#_rgsvc_api_EventBusService"><code>EventBusService</code></a>:</p>
 
+         <p>Using the guidance in the docs for the <a 
href="../../guides/rgsvc/rgsvc.html#_rgsvc_api_EventBusService"><code>EventBusService</code></a>:</p>
 
         </div> 
         <div class="ulist"> 
          <ul> 
@@ -1907,7 +1907,7 @@ mvn clean install -D mavenmixin-jettyconsole</code></pre>
        <div class="sect2"> 
         <h3 id="_bulk_actions">4.28. Bulk actions</h3> 
         <div class="paragraph"> 
-         <p>Bulk actions are actions that can be invoked on a collection of 
actions, that is on collections returned by invoking an action. Actions are 
specified as being bulk actions using the <a 
href="rgant.html#_rgant-Action_invokeOn"><code>@action(invokeOn=OBJECT_AND_COLLECTION)</code></a>
 annotation.</p> 
+         <p>Bulk actions are actions that can be invoked on a collection of 
actions, that is on collections returned by invoking an action. Actions are 
specified as being bulk actions using the <a 
href="../../guides/rgant/rgant.html#_rgant-Action_invokeOn"><code>@action(invokeOn=OBJECT_AND_COLLECTION)</code></a>
 annotation.</p> 
         </div> 
         <div class="admonitionblock note"> 
          <table> 
@@ -1923,10 +1923,10 @@ mvn clean install -D 
mavenmixin-jettyconsole</code></pre>
          </table> 
         </div> 
         <div class="paragraph"> 
-         <p>Thus: * Write a no-arg action for your domain entity, annotate 
with <code>@Action(invokeOn=…​)</code> * Inject the <a 
href="rgsvc.html#_rgsvc_api_ActionInvocationContext"><code>ActionInteractionContext</code></a>
 (request-scoped) service * Use the <code>ActionInteractionContext</code> 
service to determine whether the action was invoked in bulk or as a regular 
action. * return null if invoked on a collection; the Wicket viewer will go 
back to the original collection ** (if return non-null, then Wicket viewer will 
navigate to the object of the last invocation generally not what is 
required)</p> 
+         <p>Thus: * Write a no-arg action for your domain entity, annotate 
with <code>@Action(invokeOn=…​)</code> * Inject the <a 
href="../../guides/rgsvc/rgsvc.html#_rgsvc_api_ActionInvocationContext"><code>ActionInteractionContext</code></a>
 (request-scoped) service * Use the <code>ActionInteractionContext</code> 
service to determine whether the action was invoked in bulk or as a regular 
action. * return null if invoked on a collection; the Wicket viewer will go 
back to the original collection ** (if return non-null, then Wicket viewer will 
navigate to the object of the last invocation generally not what is 
required)</p> 
         </div> 
         <div class="paragraph"> 
-         <p>The similar <a 
href="rgsvc.html#_rgsvc_api_Scratchpad"><code>Scratchpad</code></a> 
(request-scoped) domain service is a good way to share information between bulk 
action invocations:</p> 
+         <p>The similar <a 
href="../../guides/rgsvc/rgsvc.html#_rgsvc_api_Scratchpad"><code>Scratchpad</code></a>
 (request-scoped) domain service is a good way to share information between 
bulk action invocations:</p> 
         </div> 
         <div class="ulist"> 
          <ul> 
@@ -1939,7 +1939,7 @@ mvn clean install -D mavenmixin-jettyconsole</code></pre>
        <div class="sect2"> 
         <h3 id="_performance_tuning">4.29. Performance tuning</h3> 
         <div class="paragraph"> 
-         <p>The <a 
href="rgsvc.html#_rgsvc_api_QueryResultsCache"><code>QueryResultsCache</code></a>
 (request-scoped) domain service allows arbitrary objects to be cached for the 
duration of a request.</p> 
+         <p>The <a 
href="../../guides/rgsvc/rgsvc.html#_rgsvc_api_QueryResultsCache"><code>QueryResultsCache</code></a>
 (request-scoped) domain service allows arbitrary objects to be cached for the 
duration of a request.</p> 
         </div> 
         <div class="paragraph"> 
          <p>This can be helpful for "naive" code which would normally make the 
same query within a loop.</p> 
@@ -1954,7 +1954,7 @@ mvn clean install -D mavenmixin-jettyconsole</code></pre>
        <div class="sect2"> 
         <h3 id="_extending_the_wicket_ui">4.30. Extending the Wicket UI</h3> 
         <div class="paragraph"> 
-         <p>Each element in the Wicket viewer (entity form, properties, 
collections, action button etc) is a component, each created by a internal API 
(<code>ComponentFactory</code>, described <a 
href="ugvw.html#_ugvw_extending">here</a>). For collections there can be 
multiple views, and the Wicket viewer provides a view selector drop down (top 
right of each collection panel).</p> 
+         <p>Each element in the Wicket viewer (entity form, properties, 
collections, action button etc) is a component, each created by a internal API 
(<code>ComponentFactory</code>, described <a 
href="../../guides/ugvw/ugvw.html#_ugvw_extending">here</a>). For collections 
there can be multiple views, and the Wicket viewer provides a view selector 
drop down (top right of each collection panel).</p> 
         </div> 
         <div class="paragraph"> 
          <p>Moreover, we can add additional views. In this section we’ll 
explore some of these, already provided through <a 
href="http://www.isisaddons.org/";>Isis addons</a> (not ASF).</p> 
@@ -2021,7 +2021,7 @@ mvn clean install -D mavenmixin-jettyconsole</code></pre>
          <p>Also, if using Apache Isis' REST API then the REST client may be a 
native application (on a smartphone or tablet, say) that is deployed by a third 
party. In these cases exposing the entities directly would be inadvisable 
because a refactoring of the domain entity would change the REST API and 
probably break that REST client.</p> 
         </div> 
         <div class="paragraph"> 
-         <p>To support these use cases, Apache Isis therefore allows you to 
write a view model, either by annotating the class with <a 
href="rgant.html#_rgant-ViewModel"><code>@ViewModel</code></a> or (for more 
control) by implementing the <a 
href="rgcms.html#_rgcms_classes_super_AbstractViewModel"><code>ViewModel</code></a>
 interface.</p> 
+         <p>To support these use cases, Apache Isis therefore allows you to 
write a view model, either by annotating the class with <a 
href="../../guides/rgant/rgant.html#_rgant-ViewModel"><code>@ViewModel</code></a>
 or (for more control) by implementing the <a 
href="../../guides/rgcms/rgcms.html#_rgcms_classes_super_AbstractViewModel"><code>ViewModel</code></a>
 interface.</p> 
         </div> 
         <div class="ulist"> 
          <ul> 
@@ -2041,7 +2041,7 @@ mvn clean install -D mavenmixin-jettyconsole</code></pre>
           <p>Unit testing domain entities and domain services is easy; just 
use JUnit and mocking libraries to mock out interactions with domain 
services.</p> 
          </div> 
          <div class="paragraph"> 
-          <p><a href="https://code.google.com/p/mockito/";>Mockito</a> seems to 
be the current favourite among Java developers for mocking libraries, but if 
you use JMock then you’ll find we provide a <code>JUnitRuleMockery2</code> 
class and a number of other utility classes, documented <a 
href="ugtst.html#_ugtst_unit-test-support">here</a>.</p> 
+          <p><a href="https://code.google.com/p/mockito/";>Mockito</a> seems to 
be the current favourite among Java developers for mocking libraries, but if 
you use JMock then you’ll find we provide a <code>JUnitRuleMockery2</code> 
class and a number of other utility classes, documented <a 
href="../../guides/ugtst/ugtst.html#_ugtst_unit-test-support">here</a>.</p> 
          </div> 
          <div class="ulist"> 
           <ul> 
@@ -2084,7 +2084,7 @@ mvn clean install -D mavenmixin-jettyconsole</code></pre>
           <p>There will probably be some compile issues to fix up once 
you’ve done this; comment out all code that doesn’t compile.</p> 
          </div> 
          <div class="paragraph"> 
-          <p>Isis has great support for writing <a 
href="ugtst.html#_ugtst_integ-test-support">integration tests</a>; well-written 
integration tests should leverage fixture scripts and use the <a 
href="rgsvc.html#_rgsvc_api_WrapperFactory"><code>@WrapperFactory</code></a> 
domain service.</p> 
+          <p>Isis has great support for writing <a 
href="../../guides/ugtst/ugtst.html#_ugtst_integ-test-support">integration 
tests</a>; well-written integration tests should leverage fixture scripts and 
use the <a 
href="../../guides/rgsvc/rgsvc.html#_rgsvc_api_WrapperFactory"><code>@WrapperFactory</code></a>
 domain service.</p> 
          </div> 
          <div class="ulist"> 
           <ul> 
@@ -2100,7 +2100,7 @@ mvn clean install -D mavenmixin-jettyconsole</code></pre>
         </div> 
         <div class="ulist"> 
          <ul> 
-          <li> <p>as per <a 
href="ugvro.html#__ugvro_simplified-representations_configuration-properties">the
 documentation</a>, configure the Restful Objects viewer to generate a 
simplified object representation:<br></p> 
+          <li> <p>as per <a 
href="../../guides/ugvro/ugvro.html#__ugvro_simplified-representations_configuration-properties">the
 documentation</a>, configure the Restful Objects viewer to generate a 
simplified object representation:<br></p> 
            <div class="listingblock"> 
             <div class="content"> 
              <pre class="CodeRay highlight"><code 
data-lang="ini">isis.viewer.restfulobjects.objectPropertyValuesOnly=true</code></pre>
 
@@ -2169,7 +2169,7 @@ mvn clean install -D mavenmixin-jettyconsole</code></pre>
          <li><a href="#_collections">4.19. Collections</a></li> 
          <li><a href="#_actions_and_collections">4.20. Actions and 
Collections</a></li> 
          <li><a href="#_css_ui_hints">4.21. CSS UI Hints</a></li> 
-         <li><a href="#_dynamic_layout">4.22. Dynamic Layout</a></li> 
+         <li><a href="#_file_based_layout">4.22. File-based Layout</a></li> 
          <li><a href="#_business_rules">4.23. Business rules</a> 
           <ul class="sectlevel3"> 
            <li><a href="#_see_it">4.23.1. See it!</a></li> 

Reply via email to