http://git-wip-us.apache.org/repos/asf/isis/blob/b2b87ca4/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_spi_UserRegistrationService.adoc
----------------------------------------------------------------------
diff --git 
a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_spi_UserRegistrationService.adoc
 
b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_spi_UserRegistrationService.adoc
index 0c7fbe1..c8dcc61 100644
--- 
a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_spi_UserRegistrationService.adoc
+++ 
b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_spi_UserRegistrationService.adoc
@@ -7,7 +7,7 @@
 
 The `UserRegistrationService` provides the ability for users to sign-up to 
access an application by providing a valid email address, and also provides the 
capability for users to reset their password if forgotten.
 
-For user sign-up, the xref:ugvw.adoc#[Wicket viewer] will check whether an 
implementation of this service (and also the 
xref:../rgsvc/rgsvc.adoc#_rgsvc_spi_EmailNotificationService[`EmailNotificationService`])
 is available, and if so will render a sign-up page where the user enters their 
email address. A verification email is sent (using the aforementioned 
`EmailNotificationService`) which includes a link back to the running 
application; this allows the user then to complete their registration process 
(choose user name, password and so on). When the user has provided the 
additional details, the Wicket viewer calls _this_ service in order to create 
an account for them, and then logs the user on.
+For user sign-up, the xref:../ugvw/ugvw.adoc#[Wicket viewer] will check 
whether an implementation of this service (and also the 
xref:../rgsvc/rgsvc.adoc#_rgsvc_spi_EmailNotificationService[`EmailNotificationService`])
 is available, and if so will render a sign-up page where the user enters their 
email address. A verification email is sent (using the aforementioned 
`EmailNotificationService`) which includes a link back to the running 
application; this allows the user then to complete their registration process 
(choose user name, password and so on). When the user has provided the 
additional details, the Wicket viewer calls _this_ service in order to create 
an account for them, and then logs the user on.
 
 For the password reset feature, the Wicket viewer will render a password reset 
page, and use the `EmailNotificationService` to send a "password forgotten" 
email.  This service provides the ability to reset a password based on the 
user's email address.
 
@@ -15,7 +15,7 @@ It is of course possible for domain objects to use this 
service; it will be inje
 
 [NOTE]
 ====
-For further details on the user registration feature (as supported by the 
Wicket viewer), see xref:ugvw.adoc#_ugvw_features_user-registration[here].
+For further details on the user registration feature (as supported by the 
Wicket viewer), see 
xref:../ugvw/ugvw.adoc#_ugvw_features_user-registration[here].
 ====
 
 

http://git-wip-us.apache.org/repos/asf/isis/blob/b2b87ca4/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_decoupling_contributions.adoc
----------------------------------------------------------------------
diff --git 
a/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_decoupling_contributions.adoc
 
b/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_decoupling_contributions.adoc
index 0adf9f3..6e93ac7 100644
--- 
a/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_decoupling_contributions.adoc
+++ 
b/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_decoupling_contributions.adoc
@@ -5,7 +5,7 @@
 :_imagesdir: images/
 
 
-Contributed services provide many of the same benefits as 
xref:ugbtb.adoc#_ugbtb_decoupling_mixins[mixins];
+Contributed services provide many of the same benefits as 
xref:../ugbtb/ugbtb.adoc#_ugbtb_decoupling_mixins[mixins];
 indeed mixins are an evolution and refinement of the contributions concept.
 
 [WARNING]

http://git-wip-us.apache.org/repos/asf/isis/blob/b2b87ca4/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_decoupling_db-schemas.adoc
----------------------------------------------------------------------
diff --git 
a/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_decoupling_db-schemas.adoc
 
b/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_decoupling_db-schemas.adoc
index 4e7866b..389185c 100644
--- 
a/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_decoupling_db-schemas.adoc
+++ 
b/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_decoupling_db-schemas.adoc
@@ -49,7 +49,7 @@ CREATE TABLE isisaudit."AuditEntry" (
 
 [TIP]
 ====
-If for some reason you don't want to use schemas (though we strongly recommend 
that you do), then note that you can override the `@PersistenceCapable` 
annotation by providing XML metadata (the `mappings.jdo` file); see the section 
on xref:ugodn.adoc#_ugodn_configuring[configuring DataNucleus Overriding 
Annotations] for more details.
+If for some reason you don't want to use schemas (though we strongly recommend 
that you do), then note that you can override the `@PersistenceCapable` 
annotation by providing XML metadata (the `mappings.jdo` file); see the section 
on xref:../ugodn/ugodn.adoc#_ugodn_configuring[configuring DataNucleus 
Overriding Annotations] for more details.
 ====
 
 

http://git-wip-us.apache.org/repos/asf/isis/blob/b2b87ca4/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_decoupling_mixins.adoc
----------------------------------------------------------------------
diff --git 
a/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_decoupling_mixins.adoc
 
b/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_decoupling_mixins.adoc
index 82069ba..72af4c3 100644
--- 
a/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_decoupling_mixins.adoc
+++ 
b/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_decoupling_mixins.adoc
@@ -229,7 +229,7 @@ method.  For example:
 DocumentHolder_documents mixin = 
container.mixin(DocumentHolder_documents.class, customer);
 ----
 
-The 
xref:ugtst.adoc#__ugtst_integ-test-support_bootstrapping_IntegrationTestAbstract[`IntegrationTestAbstract`]
 and
+The 
xref:../ugtst/ugtst.adoc#__ugtst_integ-test-support_bootstrapping_IntegrationTestAbstract[`IntegrationTestAbstract`]
 and
 xref:../rgcms/rgcms.adoc#_rgcms_classes_super_FixtureScript[`FixtureScript`] 
classes both provide a `mixin(...)` convenience
 method.
 
@@ -257,7 +257,7 @@ fundamental structure is changing is likely to remain a 
no-no.
 However, chances are that the structure of your domain objects (the data) will 
change much less rapidly than
 the behaviour of those domain objects.  Thus, it's the behaviour that you're 
most likely wanting to change while the
 app is still running.  If you move that behaviour out into 
xref:../rgcms/rgcms.adoc#_rgcms_classes_mixins[mixins] (or
-xref:ugbtb.adoc#_ugbtb_decoupling_contributions[contributed services]), then 
these can be reloaded happily.
+xref:../ugbtb/ugbtb.adoc#_ugbtb_decoupling_contributions[contributed 
services]), then these can be reloaded happily.
 (When running in prototype mode), Apache Isis will automatically recreate the 
portion of the metamodel for any domain
 object as it is rendered.
 

http://git-wip-us.apache.org/repos/asf/isis/blob/b2b87ca4/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_decoupling_pushing-changes.adoc
----------------------------------------------------------------------
diff --git 
a/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_decoupling_pushing-changes.adoc
 
b/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_decoupling_pushing-changes.adoc
index d75d8ac..abd6e52 100644
--- 
a/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_decoupling_pushing-changes.adoc
+++ 
b/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_decoupling_pushing-changes.adoc
@@ -7,7 +7,7 @@
 
 [NOTE]
 ====
-This technique is much less powerful than using 
xref:ugbtb.adoc#_ugbtb_decoupling_event-bus[the event bus] .  We present it 
mostly for completeness.
+This technique is much less powerful than using 
xref:../ugbtb/ugbtb.adoc#_ugbtb_decoupling_event-bus[the event bus] .  We 
present it mostly for completeness.
 ====
 
 

http://git-wip-us.apache.org/repos/asf/isis/blob/b2b87ca4/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_deployment_externalized-configuration.adoc
----------------------------------------------------------------------
diff --git 
a/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_deployment_externalized-configuration.adoc
 
b/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_deployment_externalized-configuration.adoc
index ddf5cf9..8574755 100644
--- 
a/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_deployment_externalized-configuration.adoc
+++ 
b/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_deployment_externalized-configuration.adoc
@@ -18,7 +18,7 @@ then the subsequent configuration property will be ignored.
 [TIP]
 ====
 In addition the framework will also load the `overrides.properties` file.  
This is intended to support deployment
-through Docker, as discussed xref:ugbtb.adoc#_ugbtb_deployment_docker[next].
+through Docker, as discussed 
xref:../ugbtb/ugbtb.adoc#_ugbtb_deployment_docker[next].
 ====
 
 All of these files are read from the `WEB-INF` directory.  Having this 
configuration "baked into" the application is
@@ -91,7 +91,7 @@ Note that running the app using Apache Isis' 
`org.apache.isis.WebServer` bootstr
 [[__ugbtb_deployment_externalized-configuration_Shiro]]
 == Shiro Config
 
-If using Apache Isis' 
xref:ugsec.adoc#_ugsec_configuring-isis-to-use-shiro[Shiro integration] for 
authentication and/or authorization, note that it reads from the `shiro.ini` 
configuration file. By default this also resides in `WEB-INF`.
+If using Apache Isis' 
xref:../ugsec/ugsec.adoc#_ugsec_configuring-isis-to-use-shiro[Shiro 
integration] for authentication and/or authorization, note that it reads from 
the `shiro.ini` configuration file. By default this also resides in `WEB-INF`.
 
 Similar to Apache Isis, Shiro lets this configuration directory be altered, by 
specifying the `shiroConfigLocations` context parameter.
 

http://git-wip-us.apache.org/repos/asf/isis/blob/b2b87ca4/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_deployment_jvm-flags.adoc
----------------------------------------------------------------------
diff --git 
a/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_deployment_jvm-flags.adoc
 
b/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_deployment_jvm-flags.adoc
index 55658fe..2631e40 100644
--- 
a/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_deployment_jvm-flags.adoc
+++ 
b/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_deployment_jvm-flags.adoc
@@ -48,5 +48,5 @@ There are also a whole bunch of GC-related flags, that you 
might want to explore
 
 ## Configuring in Tomcat
 
-If using Tomcat, update the `CATALINA_OPTS` variable.  (This variable is also 
updated if 
xref:ugbtb.adoc#__ugbtb_deployment_externalized-configuration_Log4j[configuring 
logging to run externally]).
+If using Tomcat, update the `CATALINA_OPTS` variable.  (This variable is also 
updated if 
xref:../ugbtb/ugbtb.adoc#__ugbtb_deployment_externalized-configuration_Log4j[configuring
 logging to run externally]).
 

http://git-wip-us.apache.org/repos/asf/isis/blob/b2b87ca4/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_deployment_tomcat.adoc
----------------------------------------------------------------------
diff --git 
a/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_deployment_tomcat.adoc
 
b/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_deployment_tomcat.adoc
index 9d563ac..6da4564 100644
--- 
a/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_deployment_tomcat.adoc
+++ 
b/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_deployment_tomcat.adoc
@@ -9,7 +9,7 @@ Some pointers when deploying to Tomcat (or any other servlet 
container).
 
 == Externalized Configuration
 
-See the guidance 
xref:ugbtb.adoc#_ugbtb_deployment_externalized-configuration[below].
+See the guidance 
xref:../ugbtb/ugbtb.adoc#_ugbtb_deployment_externalized-configuration[below].
 
 
 == JVM Args
@@ -25,4 +25,4 @@ The 
xref:../rgsvc/rgsvc.adoc#_rgsvc_api_WrapperFactory[`WrapperFactory`] uses li
 
 == Using a JNDI Datasource
 
-See the guidance in the 
xref:ugodn.adoc#_ugodn_configuring_using-jndi-data-source[configuring 
datanucleus] section.
\ No newline at end of file
+See the guidance in the 
xref:../ugodn/ugodn.adoc#_ugodn_configuring_using-jndi-data-source[configuring 
datanucleus] section.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/b2b87ca4/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_headless-access.adoc
----------------------------------------------------------------------
diff --git 
a/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_headless-access.adoc
 
b/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_headless-access.adoc
index 5918c12..406382a 100644
--- 
a/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_headless-access.adoc
+++ 
b/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_headless-access.adoc
@@ -4,7 +4,7 @@
 :_basedir: ../../
 :_imagesdir: images/
 
-This section tackles the topic of enabling access to an Isis application 
directly, or at least, not through either the xref:ugvw.adoc#[Wicket] or 
xref:ugvro.adoc#[Restful] viewers.
+This section tackles the topic of enabling access to an Isis application 
directly, or at least, not through either the xref:../ugvw/ugvw.adoc#[Wicket] 
or xref:../ugvro/ugvro.adoc#[Restful] viewers.
 
 There are several main use-cases:
 
@@ -14,7 +14,7 @@ There are several main use-cases:
 
 * leveraging an Isis application within a batch process
 
-Note that the calling thread runs in the same process space as the Apache Isis 
domain object model (must be physically linked to the JAR files containing the 
domain classes).  For use cases where the calling thread runs in some other 
process space (eg migrating data from a legacy system), then the 
xref:ugvro.adoc#[Restful Objects viewer] is usually the way to go.
+Note that the calling thread runs in the same process space as the Apache Isis 
domain object model (must be physically linked to the JAR files containing the 
domain classes).  For use cases where the calling thread runs in some other 
process space (eg migrating data from a legacy system), then the 
xref:../ugvro/ugvro.adoc#[Restful Objects viewer] is usually the way to go.
 
 The API described in this chapter is reasonably low-level, allowing code to 
interact very directly with the Apache Isis metamodel and runtime.  Such 
callers should be considered trusted: they do not (by default) honour any 
business rules eg implicit in the Isis annotations or hide/disable/validate 
methods.  However the 
xref:../rgsvc/rgsvc.adoc#_rgsvc_api_WrapperFactory[`WrapperFactory`] service 
could be used to enforce such business rules if required.
 

http://git-wip-us.apache.org/repos/asf/isis/blob/b2b87ca4/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_headless-access_BackgroundCommandExecution.adoc
----------------------------------------------------------------------
diff --git 
a/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_headless-access_BackgroundCommandExecution.adoc
 
b/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_headless-access_BackgroundCommandExecution.adoc
index 2562892..137e010 100644
--- 
a/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_headless-access_BackgroundCommandExecution.adoc
+++ 
b/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_headless-access_BackgroundCommandExecution.adoc
@@ -6,7 +6,7 @@
 
 
 
-The `BackgroundCommandExecution` class (a subclass of 
xref:ugbtb.adoc#_ugbtb_headless-access_AbstractIsisSessionTemplate[AbstractIsisSessionTemplate])
 is intended to simplify the execution of background ``Command``s persisted by 
way of the xref:../rgsvc/rgsvc.adoc#_rgsvc_spi_CommandService[`CommandService`] 
and the 
xref:../rgsvc/rgsvc.adoc#_rgsvc_spi_BackgroundCommandService[`BackgroundCommandService`].
+The `BackgroundCommandExecution` class (a subclass of 
xref:../ugbtb/ugbtb.adoc#_ugbtb_headless-access_AbstractIsisSessionTemplate[AbstractIsisSessionTemplate])
 is intended to simplify the execution of background ``Command``s persisted by 
way of the xref:../rgsvc/rgsvc.adoc#_rgsvc_spi_CommandService[`CommandService`] 
and the 
xref:../rgsvc/rgsvc.adoc#_rgsvc_spi_BackgroundCommandService[`BackgroundCommandService`].
 
 Its signature is:
 

http://git-wip-us.apache.org/repos/asf/isis/blob/b2b87ca4/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_i18n.adoc
----------------------------------------------------------------------
diff --git 
a/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_i18n.adoc 
b/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_i18n.adoc
index a81a2d8..7f925be 100644
--- a/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_i18n.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_i18n.adoc
@@ -9,7 +9,7 @@ Apache Isis' support for internationlization (i18n) allows 
every element of the
 
 It also supports translations of messages raised imperatively, by which we 
mean as the result of a call to `title()` to obtain an object's title, or 
messages resulting from any business rule violations (eg 
xref:../rgcms/rgcms.adoc#_rgcms_methods_prefixes_disable[`disable...()`] or 
xref:../rgcms/rgcms.adoc#_rgcms_methods_prefixes_validate[`validate...()`], and 
so on.
 
-The xref:ugvw.adoc#[Wicket viewer] (that is, its labels and messages) is also 
internationalized using the same mechanism.  If no translations are available, 
then the Wicket viewer falls back to using Wicket resource bundles.
+The xref:../ugvw/ugvw.adoc#[Wicket viewer] (that is, its labels and messages) 
is also internationalized using the same mechanism.  If no translations are 
available, then the Wicket viewer falls back to using Wicket resource bundles.
 
 Isis does not translate the values of your domain objects, though.  So, if you 
have a domain concept such as `Country` whose name is intended to be localized 
according to the current user, you will need to model this yourself.
 
@@ -223,7 +223,7 @@ public interface TranslatableException {
 [[__ugbtb_i18n_wicket-viewer]]
 == Wicket Viewer
 
-The xref:ugvw.adoc#[Wicket viewer] (its labels and messages) is also 
internationalized using
+The xref:../ugvw/ugvw.adoc#[Wicket viewer] (its labels and messages) is also 
internationalized using
 the `TranslationService`.  This is done through an Isis-specific 
implementation of the Wicket framework's `org.apache.wicket.Localizer` class, 
namely `LocalizerForIsis`.
 
 The Wicket `Localizer` defines the following API:
@@ -322,7 +322,7 @@ msgstr "You can only select 1 item"
 === Login/self-sign-up
 
 In addition, there are a reasonably large number of messages that are used for 
both login and the
- xref:ugvw.adoc#_ugvw_features_user-registration[user registration] (self 
sign-up) and password reset features.
+ xref:../ugvw/ugvw.adoc#_ugvw_features_user-registration[user registration] 
(self sign-up) and password reset features.
 
 These are:
 
@@ -479,7 +479,7 @@ msgstr "Username"
 
 So much for the API; but as noted, it is also necessary to ensure that the 
required translations are recorded (by the `TranslationService`) into the 
`.pot` file.
 
-For this, we recommend that you ensure that all such methods are tested 
through an xref:ugtst.adoc#_ugtst_integ-test-support[integration test] (not 
unit test).
+For this, we recommend that you ensure that all such methods are tested 
through an xref:../ugtst/ugtst.adoc#_ugtst_integ-test-support[integration test] 
(not unit test).
 
 For example, here's the corresponding integration test for the "Exclamation 
mark" example from the simpleapp (above):
 
@@ -540,7 +540,7 @@ msgstr "<i>Quantité</i>"
 ----
 
 For this to work, the `namedEscaped()` attribute must be specified using 
either the
-xref:ugvw.adoc#_ugvw_layout_file-based[layout file], or using an annotation 
such as
+xref:../ugvw/ugvw.adoc#_ugvw_layout_file-based[layout file], or using an 
annotation such as
 xref:../rgant/rgant.adoc#_rgant-PropertyLayout[`@PropertyLayout`] or 
xref:../rgant/rgant.adoc#_rgant-ParameterLayout[`@ParameterLayout`].
 
 For example:
@@ -607,7 +607,7 @@ The basename for translation files is always 
`translations`; this cannot be alte
 
 === Externalized translation files
 
-Normally Apache Isis configuration files are read from the `WEB-INF` file. 
However, Apache Isis can be configured to read config files from an 
xref:ugbtb.adoc#_ugbtb_deployment_externalized-configuration[external 
directory]; this is also supported for translations.
+Normally Apache Isis configuration files are read from the `WEB-INF` file. 
However, Apache Isis can be configured to read config files from an 
xref:../ugbtb/ugbtb.adoc#_ugbtb_deployment_externalized-configuration[external 
directory]; this is also supported for translations.
 
 Thus, if in `web.xml` the external configuration directory has been set:
 

http://git-wip-us.apache.org/repos/asf/isis/blob/b2b87ca4/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_other-techniques_transactions-and-errors.adoc
----------------------------------------------------------------------
diff --git 
a/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_other-techniques_transactions-and-errors.adoc
 
b/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_other-techniques_transactions-and-errors.adoc
index 85ed7f6..54d068c 100644
--- 
a/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_other-techniques_transactions-and-errors.adoc
+++ 
b/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_other-techniques_transactions-and-errors.adoc
@@ -41,8 +41,8 @@ You get the idea.
 == Raise message/errors to users
 
 The framework provides the 
xref:../rgsvc/rgsvc.adoc#_rgsvc_api_MessageService[`MessageService`] as a means 
to return an out-of-band
-message to the end-user.  In the xref:ugvw.adoc#[Wicket viewer] these are 
shown as "toast" pop-ups; the
-xref:ugvro.adoc#[Restful Objects viewer] returns an HTTP header.
+message to the end-user.  In the xref:../ugvw/ugvw.adoc#[Wicket viewer] these 
are shown as "toast" pop-ups; the
+xref:../ugvro/ugvro.adoc#[Restful Objects viewer] returns an HTTP header.
 
 The `UserService` provides three APIs, for different:
 
@@ -58,8 +58,8 @@ None of these messages/errors has any influence on the 
transaction; any changes
 == Aborting transactions
 
 If you want to abort Apache Isis' transaction, this can be done by throwing an 
exception.  The exception message
-is displayed to the user on the error page (if xref:ugvw.adoc#[Wicket viewer]) 
or a 500 status error code (if the
-xref:ugvro.adoc#[Restful Objects] viewer).
+is displayed to the user on the error page (if xref:../ugvw/ugvw.adoc#[Wicket 
viewer]) or a 500 status error code (if the
+xref:../ugvro/ugvro.adoc#[Restful Objects] viewer).
 
 If the exception thrown is because of an unexpected error (eg a 
`NullPointerException` in the domain app itself), then
 the error page will include a stack trace.  If however you want to indicate 
that the exception is in some sense

http://git-wip-us.apache.org/repos/asf/isis/blob/b2b87ca4/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_programming-model_finetuning.adoc
----------------------------------------------------------------------
diff --git 
a/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_programming-model_finetuning.adoc
 
b/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_programming-model_finetuning.adoc
index ecaaf3d..26eb886 100644
--- 
a/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_programming-model_finetuning.adoc
+++ 
b/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_programming-model_finetuning.adoc
@@ -58,7 +58,7 @@ To include/exclude more than one `FacetFactory`, specify as a 
comma-separated li
 
 [TIP]
 ====
-This http://isis.markmail.org/thread/472c3mrvcgnripst[thread] from the users 
mailing list (in Apr 2014) shows a typical customization (to enable 
per-instance security) (though note that 
xref:ugbtb.adoc#_ugbtb_other-techniques_multi-tenancy[Multi-Tenancy] is now a 
better solution to that particular use-case.
+This http://isis.markmail.org/thread/472c3mrvcgnripst[thread] from the users 
mailing list (in Apr 2014) shows a typical customization (to enable 
per-instance security) (though note that 
xref:../ugbtb/ugbtb.adoc#_ugbtb_other-techniques_multi-tenancy[Multi-Tenancy] 
is now a better solution to that particular use-case.
 ====
 
 

http://git-wip-us.apache.org/repos/asf/isis/blob/b2b87ca4/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_programming-model_layout-metadata-reader.adoc
----------------------------------------------------------------------
diff --git 
a/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_programming-model_layout-metadata-reader.adoc
 
b/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_programming-model_layout-metadata-reader.adoc
index 432d46d..e468ee3 100644
--- 
a/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_programming-model_layout-metadata-reader.adoc
+++ 
b/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_programming-model_layout-metadata-reader.adoc
@@ -5,7 +5,7 @@
 :_imagesdir: images/
 
 
-The metadata for domain objects is obtained both 
xref:ugvw.adoc#_ugvw_layout_annotation-based[annotations] and 
xref:ugvw.adoc#_ugvw_layout_file-based[files].
+The metadata for domain objects is obtained both 
xref:../ugvw/ugvw.adoc#_ugvw_layout_annotation-based[annotations] and 
xref:../ugvw/ugvw.adoc#_ugvw_layout_file-based[files].
 There is also deprecated support for reading layouts from `.layout.json` files.
 This service provides an SPI (and default implementation) for reading layouts 
defined in this fashion.
 

http://git-wip-us.apache.org/repos/asf/isis/blob/b2b87ca4/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_view-models_jaxb.adoc
----------------------------------------------------------------------
diff --git 
a/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_view-models_jaxb.adoc
 
b/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_view-models_jaxb.adoc
index 00ae0b6..258f9e2 100644
--- 
a/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_view-models_jaxb.adoc
+++ 
b/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_view-models_jaxb.adoc
@@ -6,11 +6,11 @@
 
 
 
-As noted in the xref:ugbtb.adoc#_ugbtb_view-models_use-cases[introduction], 
view models can also be defined using JAXB annotations.
+As noted in the 
xref:../ugbtb/ugbtb.adoc#_ugbtb_view-models_use-cases[introduction], view 
models can also be defined using JAXB annotations.
 The serialized form of these view models is therefore XML, which also enables 
these view models
 to act as DTOs.
 
-In case it's not obvious, these DTOs are still usable as "regular" view 
models; they will render in the xref:ugvw.adoc#[Wicket viewer] just like any 
other.
+In case it's not obvious, these DTOs are still usable as "regular" view 
models; they will render in the xref:../ugvw/ugvw.adoc#[Wicket viewer] just 
like any other.
 In fact, these JAXB-annotated view models are in many regards the most 
powerful of all the various ways of writing view models:
 
 * their entire state (collections as well as properties) is automatically 
managed from interaction to interaction. +
@@ -59,16 +59,16 @@ public class ToDoItemV1_1 implements Dto {                  
        // <5>
     protected List<ToDoItem> similarItems = Lists.newArrayList();
 }
 ----
-<1> package name encodes major version; see discussion on 
xref:ugbtb.adoc#__ugbtb_view-models_jaxb_versioning[versioning]
+<1> package name encodes major version; see discussion on 
xref:../ugbtb/ugbtb.adoc#__ugbtb_view-models_jaxb_versioning[versioning]
 <2> identifies this class as a view model and defines the root element for 
JAXB serialization
 <3> all properties in the class must be listed; (they can be ignored using 
`@XmlTransient`)
 <4> demonstrating use of UI events for a subscriber to provide the DTO's 
title; see 
xref:../rgant/rgant.adoc#_rgant-DomainObjectLayout_titleUiEvent[`@DomainObjectLayout#titleUiEvent()`].
-<5> class name encodes (major and) minor version; see discussion on 
xref:ugbtb.adoc#__ugbtb_view-models_jaxb_versioning[versioning]
-<6> again, see discussion on 
xref:ugbtb.adoc#__ugbtb_view-models_jaxb_versioning[versioning]
-<7> again, see discussion on 
xref:ugbtb.adoc#__ugbtb_view-models_jaxb_versioning[versioning]
+<5> class name encodes (major and) minor version; see discussion on 
xref:../ugbtb/ugbtb.adoc#__ugbtb_view-models_jaxb_versioning[versioning]
+<6> again, see discussion on 
xref:../ugbtb/ugbtb.adoc#__ugbtb_view-models_jaxb_versioning[versioning]
+<7> again, see discussion on 
xref:../ugbtb/ugbtb.adoc#__ugbtb_view-models_jaxb_versioning[versioning]
 <8> simple scalar properties
-<9> reference to a persistent entity; discussed 
xref:ugbtb.adoc#__ugbtb_view-models_jaxb_referencing-domain-entities[below]
-<10> reference to a collection of persistent entities; again discussed 
xref:ugbtb.adoc#__ugbtb_view-models_jaxb_referencing-domain-entities[below]
+<9> reference to a persistent entity; discussed 
xref:../ugbtb/ugbtb.adoc#__ugbtb_view-models_jaxb_referencing-domain-entities[below]
+<10> reference to a collection of persistent entities; again discussed 
xref:../ugbtb/ugbtb.adoc#__ugbtb_view-models_jaxb_referencing-domain-entities[below]
 
 
 
@@ -186,7 +186,7 @@ Although there is no requirement for the namespace URI to 
correspond to a physic
 This usually means including a company domain name within the string.
 
 As noted above, this package will contain multiple DTO classes all with the 
same namespace; these represent a set of minor versions of the DTO, each 
subsequent one intended to be backwardly compatible with the previous.
-Since these DTO classes will all be in the same package (as per the 
xref:ugbtb.adoc#__ugbtb_view-models_jaxb_using-packages-to-version[advice 
above]), the class should therefore include the minor version name:
+Since these DTO classes will all be in the same package (as per the 
xref:../ugbtb/ugbtb.adoc#__ugbtb_view-models_jaxb_using-packages-to-version[advice
 above]), the class should therefore include the minor version name:
 
 [source,java]
 ----
@@ -246,7 +246,7 @@ We also _don't_ recommend using inheritance (ie 
`ToDoItemV1_2` should not inheri
 [[__ugbtb_view-models_jaxb_generating-xsds-and-dtos]]
 == Generating XSDs and DTOs
 
-In the section 
xref:ugbtb.adoc#__ugbtb_view-models_jaxb_referencing-domain-entities[above] it 
was explained how a view model DTO can transparent reference any "backing" 
entities; these references are converted to internal object identifiers.
+In the section 
xref:../ugbtb/ugbtb.adoc#__ugbtb_view-models_jaxb_referencing-domain-entities[above]
 it was explained how a view model DTO can transparent reference any "backing" 
entities; these references are converted to internal object identifiers.
 
 However, if the consumer of the XML is another Java process (eg running within 
an Apache Camel route), then you might be tempted/expect to be able to use the 
same DTO within that Java process.
 After a little thought though you'll realize that (duh!) of course you cannot; 
the consumer runs in a different process space, and will not have references to 
those containing entities.

http://git-wip-us.apache.org/repos/asf/isis/blob/b2b87ca4/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_view-models_use-cases.adoc
----------------------------------------------------------------------
diff --git 
a/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_view-models_use-cases.adoc
 
b/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_view-models_use-cases.adoc
index 66c547e..a58f57c 100644
--- 
a/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_view-models_use-cases.adoc
+++ 
b/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_view-models_use-cases.adoc
@@ -102,20 +102,20 @@ DTOs (data transfer objects) are simple classes that 
(according to link:https://
 
 If those two processes are parts of the same overall application (the same 
team builds and deploys both server and
 client) then there's generally no need to define a DTO; just access the 
entities using Apache Isis'
-xref:ugvro.adoc#[RestfulObjects viewer].
+xref:../ugvro/ugvro.adoc#[RestfulObjects viewer].
 
 On the other hand, if the client consuming the DTO is a different application 
-- by which we mean developed/deployed by
 a different (possible third-party) team -- then the DTOs act as a formal 
contract between the provider and the consumer.
-In such cases, exposing domain entities over xref:ugvro.adoc#[RestfulObjects] 
would be
+In such cases, exposing domain entities over 
xref:../ugvro/ugvro.adoc#[RestfulObjects] would be
 "A Bad Thing"(TM) because the consumer would in effect have access to 
implementation details that could then not be
 easily changed by the producer.
 
 To support this use case, a view model can be defined such that it can act as 
a DTO.  This is done by annotating the
 class using JAXB annotations; this allows the consumer to obtain the DTO in 
XML format along with a corresponding
 XSD schema describing the structure of that XML.  A discussion of how that 
might be done using an ESB such as
-link:http://camel.apache.org[Apache Camel(TM)] follows 
xref:ugbtb.adoc#__ugbtb_view-models_use-cases_dtos_consumers[below].
+link:http://camel.apache.org[Apache Camel(TM)] follows 
xref:../ugbtb/ugbtb.adoc#__ugbtb_view-models_use-cases_dtos_consumers[below].
 
-In case it's not obvious, these DTOs are still usable as "regular" view 
models; they will render in the xref:ugvw.adoc#[Wicket viewer] just like any 
other.  In fact (as the 
xref:ugbtb.adoc#_ugbtb_view-models_programming-model[programming model] section 
below makes clear), these JAXB-annotated view models are in many regards the 
most powerful of all the alternative ways of writing view models.
+In case it's not obvious, these DTOs are still usable as "regular" view 
models; they will render in the xref:../ugvw/ugvw.adoc#[Wicket viewer] just 
like any other.  In fact (as the 
xref:../ugbtb/ugbtb.adoc#_ugbtb_view-models_programming-model[programming 
model] section below makes clear), these JAXB-annotated view models are in many 
regards the most powerful of all the alternative ways of writing view models.
 
 
 It's also worth noting that it is also possible to download the XML (or XSD) 
straight from the UI, useful during development.
@@ -127,7 +127,7 @@ framework has 
xref:../rgcms/rgcms.adoc#_rgcms_classes_mixins_Dto[mixins] that co
 === DTO Consumers
 
 The actual consumers of DTOs will generally obtain the XML of the view models 
either by requesting the XML directly,
-eg using the xref:ugvro.adoc#[RestfulObjects viewer], or may have the XML sent 
to them asynchronously using an ESB
+eg using the xref:../ugvro/ugvro.adoc#[RestfulObjects viewer], or may have the 
XML sent to them asynchronously using an ESB
 such as Apache Camel.
 
 In the former case, the consumer requests the DTO by calling the REST API with 
the appropriate HTTP `Accept` header.
@@ -153,7 +153,7 @@ The (non-ASF) 
http://github.com/isisaddons/isis-module-publishmq[Isis addons' pu
 but which simply publishes instances of 
xref:../rgcms/rgcms.adoc#_rgcms_schema-aim[`ActionInvocationMemento`] to an 
ActiveMQ
 queue.  Camel (or similar) can then be hooked up to consume these events from 
this queue, and use a processor to
 parse the action memento to determine what has changed on the source system.  
Thereafter, a subsequent Camel processor
-can then call back to the source - via the xref:ugvro.adoc[Restful Objects 
viewer] - to enrich the message with
+can then call back to the source - via the xref:../ugvro/ugvro.adoc[Restful 
Objects viewer] - to enrich the message with
 additional details using a DTO.
 
 

http://git-wip-us.apache.org/repos/asf/isis/blob/b2b87ca4/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_web-xml.adoc
----------------------------------------------------------------------
diff --git 
a/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_web-xml.adoc 
b/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_web-xml.adoc
index 8f03333..d8ab5c2 100644
--- a/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_web-xml.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_web-xml.adoc
@@ -6,9 +6,9 @@
 
 
 
-Apache Isis provides two different viewers, the xref:ugvw.adoc#[Wicket viewer] 
and the xref:ugvro.adoc#[RestfulObjects viewer].  You can deploy both of these 
concurrently, or deploy just the Wicket viewer, or deploy just the Restful 
Objects viewer.  The configuration in `web.xml` varies accordingly, both in 
terms of the servlet context listeners, filters and servlets.
+Apache Isis provides two different viewers, the xref:../ugvw/ugvw.adoc#[Wicket 
viewer] and the xref:../ugvro/ugvro.adoc#[RestfulObjects viewer].  You can 
deploy both of these concurrently, or deploy just the Wicket viewer, or deploy 
just the Restful Objects viewer.  The configuration in `web.xml` varies 
accordingly, both in terms of the servlet context listeners, filters and 
servlets.
 
-If you are using Apache Isis' integration with Apache Shiro (for security) 
then this also needs configuring in `web.xml`.  See the 
xref:ugsec.adoc#_ugsec_configuring-isis-to-use-shiro[security chapter] for full 
details on this topic.
+If you are using Apache Isis' integration with Apache Shiro (for security) 
then this also needs configuring in `web.xml`.  See the 
xref:../ugsec/ugsec.adoc#_ugsec_configuring-isis-to-use-shiro[security chapter] 
for full details on this topic.
 
 The servlets and filters are mapped to three main pipelines:
 
@@ -449,7 +449,7 @@ This filter should be mapped to the `servlet-name` for the 
RestEasy `HttpServlet
 === `IsisTransactionFilterForRestfulObjects`
 
 The `IsisTransactionFilterForRestfulObjects` filter simply ensures that a 
transaction is in progress for all
-calls routed to the xref:ugvro.adoc#[RestfulObjects viewer].
+calls routed to the xref:../ugvro/ugvro.adoc#[RestfulObjects viewer].
 
 Its definition is:
 

http://git-wip-us.apache.org/repos/asf/isis/blob/b2b87ca4/adocs/documentation/src/main/asciidoc/guides/ugbtb/ugbtb.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/ugbtb/ugbtb.adoc 
b/adocs/documentation/src/main/asciidoc/guides/ugbtb/ugbtb.adoc
index 3e7b19d..70276b2 100644
--- a/adocs/documentation/src/main/asciidoc/guides/ugbtb/ugbtb.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/ugbtb/ugbtb.adoc
@@ -9,10 +9,10 @@
 [[_ugbtb]]
 == Beyond the Basics
 
-This guide provides xref:ugbtb.adoc#_ugbtb_other-techniques[more advanced] 
guidance on writing maintainable larger
+This guide provides xref:../ugbtb/ugbtb.adoc#_ugbtb_other-techniques[more 
advanced] guidance on writing maintainable larger
 applications.
 
-Later chapters discuss how to xref:ugbtb.adoc#_ugbtb_deployment[deploy] your 
app, and discuss other ways in which you can xref:ugbtb.adoc#[extend] or adapt 
the framework itself to your particular needs.
+Later chapters discuss how to 
xref:../ugbtb/ugbtb.adoc#_ugbtb_deployment[deploy] your app, and discuss other 
ways in which you can xref:../ugbtb/ugbtb.adoc#[extend] or adapt the framework 
itself to your particular needs.
 
 === Other Guides
 

http://git-wip-us.apache.org/repos/asf/isis/blob/b2b87ca4/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_core-concepts_apache-isis-vs_cqrs.adoc
----------------------------------------------------------------------
diff --git 
a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_core-concepts_apache-isis-vs_cqrs.adoc
 
b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_core-concepts_apache-isis-vs_cqrs.adoc
index 37eb157..9f7b296 100644
--- 
a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_core-concepts_apache-isis-vs_cqrs.adoc
+++ 
b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_core-concepts_apache-isis-vs_cqrs.adoc
@@ -32,7 +32,7 @@ In these cases Apache Isis can often provide a reasonable 
alternative, namely to
 In such cases there is still only a single physical datastore, and so 
transactional integrity is retained.
 
 Or, the CQRS architecture can be more fully implemented with Apache Isis by 
introducing a separate read model, synchronized using the 
xref:../rgsvc/rgsvc.adoc#_rgsvc_api_PublishingService[`PublishingService`], or 
using 
xref:../rgcms/rgcms.adoc#_rgcms_classes_super_AbstractSubscriber[subscribers]  
on the xref:../rgsvc/rgsvc.adoc#_rgsvc_api_EventBusService[`EventBusService`].
-One can then use xref:ugbtb.adoc#_ugbtb_view-models[view models] to surface 
the data in the external read datastore.
+One can then use xref:../ugbtb/ugbtb.adoc#_ugbtb_view-models[view models] to 
surface the data in the external read datastore.
 
 With respect to commands, Apache Isis does of course support the 
xref:../rgsvc/rgsvc.adoc#_rgsvc_spi_CommandService[`CommandService`] which 
allows each business action to be reified into a `Command`.
 However, names are misleading here: Apache Isis' commands are relatively 
passive, merely recording the intent of the user to invoke some operation.
@@ -43,7 +43,7 @@ With Apache Isis, though, the end-user merely invokes the 
`placeOrder(...)` acti
 In CQRS the commands correspond to the business logic that mutates the system.
 Whether this logic is part of the command class (`PlaceOrderCommand`) or 
whether that command delegates to methods on the domain object is an 
implementation detail; but it certainly is common for the business logic to be 
wholly within the command object and for the domain object to be merely a data 
holder of the data within the command/write datastore.
 
-In Apache Isis this same separation of business logic from the underlying data 
can be accomplished most straightforwardly using 
xref:ugbtb.adoc#_ugbtb_decoupling_mixins[mixins] or 
xref:../ugfun/ugfun.adoc#_ugfun_how-tos_contributed-members[contributions].
-In the UI (surfaced by the xref:ugvw.adoc#[Wicket viewer]) or in the REST API 
(surfaced by the xref:ugvro.adoc#[RestfulObjects viewer]) the behaviour appears 
to reside on the domain object; however the behaviour actually resides on 
separate classes and is mixed in (like a trait) only at runtime.
+In Apache Isis this same separation of business logic from the underlying data 
can be accomplished most straightforwardly using 
xref:../ugbtb/ugbtb.adoc#_ugbtb_decoupling_mixins[mixins] or 
xref:../ugfun/ugfun.adoc#_ugfun_how-tos_contributed-members[contributions].
+In the UI (surfaced by the xref:../ugvw/ugvw.adoc#[Wicket viewer]) or in the 
REST API (surfaced by the xref:../ugvro/ugvro.adoc#[RestfulObjects viewer]) the 
behaviour appears to reside on the domain object; however the behaviour 
actually resides on separate classes and is mixed in (like a trait) only at 
runtime.
 
 

http://git-wip-us.apache.org/repos/asf/isis/blob/b2b87ca4/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_core-concepts_apache-isis-vs_metawidget.adoc
----------------------------------------------------------------------
diff --git 
a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_core-concepts_apache-isis-vs_metawidget.adoc
 
b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_core-concepts_apache-isis-vs_metawidget.adoc
index 22c1cf4..5eaa883 100644
--- 
a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_core-concepts_apache-isis-vs_metawidget.adoc
+++ 
b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_core-concepts_apache-isis-vs_metawidget.adoc
@@ -11,7 +11,7 @@ And like Apache Isis, MetaWidget builds its own metamodel of 
the domain objects
 However, there is a difference in philosophy in that MW is not a full-stack 
framework and does not (in their words) try to "own the UI".
 Rather they support a huge variety of UI technologies and allow the domain 
object to be rendered in any of them.
 
-In contrast, Apache Isis is full-stack and does generate a complete UI; we 
then allow you to customize or extend this UI (as per the various 
link:http://www.isisaddons.org[Isis Addons] (non-ASF), and we also provide a 
full REST API through the xref:ugvro.adoc#[Restful Objects viewer]
+In contrast, Apache Isis is full-stack and does generate a complete UI; we 
then allow you to customize or extend this UI (as per the various 
link:http://www.isisaddons.org[Isis Addons] (non-ASF), and we also provide a 
full REST API through the xref:../ugvro/ugvro.adoc#[Restful Objects viewer]
 
 Also, it's worth noting that MetaWidget does have an elegant pipeline 
architecture, with APIs to allow even its metamodel to be replaced.
 It would be feasible and probably quite straightforward to use Apache Isis' 
own metamodel as an implementation of the MetaWidget API.

http://git-wip-us.apache.org/repos/asf/isis/blob/b2b87ca4/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_core-concepts_apache-isis-vs_mvc-server-side-frameworks.adoc
----------------------------------------------------------------------
diff --git 
a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_core-concepts_apache-isis-vs_mvc-server-side-frameworks.adoc
 
b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_core-concepts_apache-isis-vs_mvc-server-side-frameworks.adoc
index 81933df..b806289 100644
--- 
a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_core-concepts_apache-isis-vs_mvc-server-side-frameworks.adoc
+++ 
b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_core-concepts_apache-isis-vs_mvc-server-side-frameworks.adoc
@@ -14,7 +14,7 @@ The views provided out of the box by these frameworks tend to 
be simple  _CRUD_-
 More sophisticated behavior is accomplished by customizing the generated 
controllers.
 
 The most obvious difference when developing an Apache Isis application is its 
deliberate lack of an explicit controller layer; non- _CRUD_ behavior is 
automatically made available in its generic object-oriented  _UI_s.
-More sophisticated UIs can be built either by 
xref:ugvw.adoc#_ugvw_extending[extending Apache Isis' Wicket viewer] or by 
writing a bespoke UI leveraging the REST (hypermedia) API automatically exposed 
by xref:ugvro.adoc#[Isis' Restful Objects viewer].
+More sophisticated UIs can be built either by 
xref:../ugvw/ugvw.adoc#_ugvw_extending[extending Apache Isis' Wicket viewer] or 
by writing a bespoke UI leveraging the REST (hypermedia) API automatically 
exposed by xref:../ugvro/ugvro.adoc#[Isis' Restful Objects viewer].
 Other frameworks can also be used to implement REST APIs, of course, but 
generally they require a significant amount of development to get anywhere near 
the level of sophistication provided automatically by Apache Isis' REST API.
 
 Although these frameworks all provide their own ecosystems of extensions, 
Apache Isis' equivalent link:http://www.isisaddons.org[Isis Addons] (non-ASF) 
tend to work at a higher-level of abstraction.
@@ -25,5 +25,5 @@ Again, these addons can be plugged into any Isis app.
 In terms of testing support, each of these other frameworks provide mechanisms 
to allow the webapp to be tested from within a JUnit test harness.
 Apache Isis' support is similar.
 Where Apache Isis differs though is that it enables end-to-end testing without 
the need for slow and fragile Selenium tests.
-Instead, Apache Isis provides a 
"xref:ugtst.adoc#_ugtst_integ-test-support_wrapper-factory[WrapperFactory]" 
domain service that allows the generic UI provided to in essence be simulated.
+Instead, Apache Isis provides a 
"xref:../ugtst/ugtst.adoc#_ugtst_integ-test-support_wrapper-factory[WrapperFactory]"
 domain service that allows the generic UI provided to in essence be simulated.
 On a more pragmatic level, the 
http://github.com/isisaddons/isis-module-fakedata[Isis addons' fakedata] module 
does "what it says on the tin", allowing both unit- and integration-tests to 
focus on the salient data and fake out the rest.

http://git-wip-us.apache.org/repos/asf/isis/blob/b2b87ca4/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_core-concepts_building-blocks.adoc
----------------------------------------------------------------------
diff --git 
a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_core-concepts_building-blocks.adoc
 
b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_core-concepts_building-blocks.adoc
index 950f175..131b470 100644
--- 
a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_core-concepts_building-blocks.adoc
+++ 
b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_core-concepts_building-blocks.adoc
@@ -13,7 +13,7 @@ At its core, Apache Isis is a metamodel that is built at 
runtime from the domain
 
 The contents of this metamodel is inferred from the Java classes discovered on 
the classpath: the entities and supporting services, as well the members of 
those classes.
 The detail of the metamodel is generally explicit, usually represented by Java 
annotations such as `@Title` or `@Action`.
-Notably the metamodel is xref:ugbtb.adoc#_ugbtb_programming-model[extensible]; 
it is possible to teach Apache Isis new programming conventions/rules (and 
conversely to remove those that are built in).
+Notably the metamodel is 
xref:../ugbtb/ugbtb.adoc#_ugbtb_programming-model[extensible]; it is possible 
to teach Apache Isis new programming conventions/rules (and conversely to 
remove those that are built in).
 
 Most of the annotations recognized by the framework are defined by the Apache 
Isis framework itself.
 For example the `@Title` annotation -- which identifies how the framework 
should derive a human-readable label for each rendered domain object -- is part 
of the `org.apache.isis.applib.annotations` package.
@@ -24,7 +24,7 @@ This is an ORM that implements the JDO and JPA APIs, and 
which can map domain ob
 Apache Isis recognizes a number of the JDO annotations such as 
`@javax.jdo.annotations.Column(allowsNull=...)`.
 
 In addition, the framework builds up the metamodel for each domain object using
-xref:ugvw.adoc#_ugvw_layout[layout hints], such as `Customer.layout.xml`.
+xref:../ugvw/ugvw.adoc#_ugvw_layout[layout hints], such as 
`Customer.layout.xml`.
 These provide metadata such as grouping elements of the UI together, using 
multi-column layouts, and so on.
 The layout file can be modified while the application is still running, and 
are picked up automatically; a useful way to speed up feedback.
 
@@ -44,7 +44,7 @@ From the end-user's perspective the UI displays a single 
domain object per page;
 
 The next type of domain object to discuss is *domain services*.
 These are (usually) singleton stateless services that provide additional 
functionality.
-The behaviour of these services is rendered in various ways, though the most 
obvious is as the menu actions on the top-level menu bars in the 
xref:ugvw.adoc#[Wicket viewer]'s UI.
+The behaviour of these services is rendered in various ways, though the most 
obvious is as the menu actions on the top-level menu bars in the 
xref:../ugvw/ugvw.adoc#[Wicket viewer]'s UI.
 
 Domain objects can also delegate to domain services; domain services are 
automatically injected into every other domain object; this includes domain 
entities as well as other services.
 This injection of domain services into entities is significant: it allows 
business logic to be implemented in the domain entities, rather than have it 
"leach away" into
@@ -54,7 +54,7 @@ Said another way: it is the means by which Apache Isis helps 
you avoid the anaem
 As well as domain entities -- mapped to a datastore -- Apache Isis also 
supports *view models*.
 End users interact with view models in the same way as a domain entity, indeed 
they are unlikely to distinguish one from the other.
 However view models are _not_ mapped to the underlying database, rather they 
represent some aggregation of state from one or more underlying entities.
-Their state is serialized and recreated from their internal identifier; this 
identifier is visible as the object's URL in the xref:ugvw.adoc#[Wicket viewer] 
or xref:ugvro.adoc#[RestfulObjects viewer].
+Their state is serialized and recreated from their internal identifier; this 
identifier is visible as the object's URL in the xref:../ugvw/ugvw.adoc#[Wicket 
viewer] or xref:../ugvro/ugvro.adoc#[RestfulObjects viewer].
 
 There's no need though for the view model to aggregate the state of regular 
domain entities.
 A view model could also be used as a proxy for some externally managed entity, 
accessed over a web service or REST API; it could even be a representation of 
state held in-memory (such as user preferences, for example).
@@ -97,7 +97,7 @@ functionality is simply for other domain objects to invoke 
programmatically).
 +
 It is also possible to specify a nature of simply `VIEW`, this combining 
`VIEW_MENU_ONLY` and `VIEW_CONTRIBUTIONS_ONLY`.
 This is in fact the default, useful for initial prototyping.
-A final nature is `VIEW_REST_ONLY` which is for domain services whose 
functionality is surfaced only by the xref:ugvro.adoc#[RestfulObjects viewer].
+A final nature is `VIEW_REST_ONLY` which is for domain services whose 
functionality is surfaced only by the xref:../ugvro/ugvro.adoc#[RestfulObjects 
viewer].
 
 Worth emphasising is that domain entities and view models hold state, whereas 
domain services are generally stateless.
 If a domain service does hold state (eg the `Scratchpad` service noted above) 
then it should be `@RequestScoped` so that this state is short-lived and usable 
only within a single request.
@@ -204,7 +204,7 @@ View models generally tend to be associated with supporting 
a particular use cas
 We introduce view models here because they do get mentioned quite often within 
the users and reference guide.
 However, we do consider them a more advanced topic; we generally recommend 
that you build your applications from the domain layer up, rather than from the 
view model down.
 
-For further discussion on view models, see 
xref:ugbtb.adoc#_ugbtb_view-models[this topic].
+For further discussion on view models, see 
xref:../ugbtb/ugbtb.adoc#_ugbtb_view-models[this topic].
 
 
 
@@ -244,7 +244,7 @@ Indeed, it is quite common to have a domain service that 
acts as both a factory
 NOTE: FIXME
 
 
-For more information, see xref:ugbtb.adoc#_ugbtb_decoupling_contributions[this 
topic on contribution]s, and xref:ugbtb.adoc#_ugbtb_decoupling_mixins[this 
topic on mixin]s.
+For more information, see 
xref:../ugbtb/ugbtb.adoc#_ugbtb_decoupling_contributions[this topic on 
contribution]s, and xref:../ugbtb/ugbtb.adoc#_ugbtb_decoupling_mixins[this 
topic on mixin]s.
 
 
 
@@ -293,8 +293,8 @@ objects
 * similarly within implementations of 
xref:../rgsvc/rgsvc.adoc#_rgsvc_spi_PublisherService[`PublisherService`]
 to persist published action invocations
 
-* and of course both the xref:ugvro.adoc#[RestfulObjects viewer] and
-xref:ugvw.adoc#[Wicket viewer]
+* and of course both the xref:../ugvro/ugvro.adoc#[RestfulObjects viewer] and
+xref:../ugvw/ugvw.adoc#[Wicket viewer]
 use the oid tuple to look up, render and allow the user to interact with 
domain objects.
 
 Although the exact content of an OID should be considered opaque by domain 
objects, it is possible for domain objects to obtain OIDs.

http://git-wip-us.apache.org/repos/asf/isis/blob/b2b87ca4/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_core-concepts_other-deployment-options.adoc
----------------------------------------------------------------------
diff --git 
a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_core-concepts_other-deployment-options.adoc
 
b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_core-concepts_other-deployment-options.adoc
index b38c55c..049b883 100644
--- 
a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_core-concepts_other-deployment-options.adoc
+++ 
b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_core-concepts_other-deployment-options.adoc
@@ -51,7 +51,7 @@ If you go this route, your deployment platform will of course 
need to provide si
 
 REST (Representation State Transfer) is an architectural style for building 
highly scalable distributed systems, using the same principles as the World 
Wide Web. Many commercial web APIs (twitter, facebook, Amazon) are implemented 
as either pure REST APIs or some approximation therein.
 
-The http://restfulobjects.org[Restful Objects specification] defines a means 
by a domain object model can be exposed as RESTful resources using JSON 
representations over HTTP. Apache Isis' xref:ugvro.adoc#[RestfulObjects viewer] 
is an implementation of that spec, making any Apache Isis domain object 
automatically available via REST.
+The http://restfulobjects.org[Restful Objects specification] defines a means 
by a domain object model can be exposed as RESTful resources using JSON 
representations over HTTP. Apache Isis' 
xref:../ugvro/ugvro.adoc#[RestfulObjects viewer] is an implementation of that 
spec, making any Apache Isis domain object automatically available via REST.
 
 There are a number of use cases for deploying Isis as a REST API, including:
 

http://git-wip-us.apache.org/repos/asf/isis/blob/b2b87ca4/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_core-concepts_philosophy_aop.adoc
----------------------------------------------------------------------
diff --git 
a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_core-concepts_philosophy_aop.adoc
 
b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_core-concepts_philosophy_aop.adoc
index 7a640ba..b1f20e0 100644
--- 
a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_core-concepts_philosophy_aop.adoc
+++ 
b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_core-concepts_philosophy_aop.adoc
@@ -48,7 +48,7 @@ Again, this is all transparent to the user.
 
 Apache Isis also has an internal event bus (you can switch between an 
underlying implementation of Gauva or Axon).
 A domain event is fired whenever an object is interacted with, and this allows 
any subscribers to influence the operation (or even veto it).
-This is a key mechanism in ensuring that Isis applications are maintainable, 
and we discuss it in depth in the section on  
xref:ugbtb.adoc#_ugbtb_decoupling[Decoupling].
+This is a key mechanism in ensuring that Isis applications are maintainable, 
and we discuss it in depth in the section on  
xref:../ugbtb/ugbtb.adoc#_ugbtb_decoupling[Decoupling].
 But fundamentally its relying on this AOP concept of interceptors.
 
 Finally, Isis also a feature that is akin to AOP mix-ins.
@@ -62,4 +62,4 @@ Apache Isis' support for contributions (not only contributed 
actions, but also c
 And again, to loop back to the topic of this section, it's an AOP concept that 
being implemented by the framework.
 
 The nice thing about aspect orientation is that for the most part you can 
ignore these cross-cutting concerns and - at least initially at least - just 
focus on implementing your domain object.
-Later when your app starts to grow and you start to break it out into smaller 
modules, you can leverage Apache Isis' AOP support for 
(xref:ugbtb.adoc#_ugbtb_decoupling_mixins[mixins]), 
(xref:ugbtb.adoc#_ugbtb_decoupling_contributions[contributions]) and 
interceptors (the xref:ugbtb.adoc#_ugbtb_decoupling_event-bus[event bus]) to 
ensure that your codebase remains maintainable.
\ No newline at end of file
+Later when your app starts to grow and you start to break it out into smaller 
modules, you can leverage Apache Isis' AOP support for 
(xref:../ugbtb/ugbtb.adoc#_ugbtb_decoupling_mixins[mixins]), 
(xref:../ugbtb/ugbtb.adoc#_ugbtb_decoupling_contributions[contributions]) and 
interceptors (the xref:../ugbtb/ugbtb.adoc#_ugbtb_decoupling_event-bus[event 
bus]) to ensure that your codebase remains maintainable.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/b2b87ca4/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_core-concepts_principles.adoc
----------------------------------------------------------------------
diff --git 
a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_core-concepts_principles.adoc
 
b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_core-concepts_principles.adoc
index 6f5c5d0..12e3768 100644
--- 
a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_core-concepts_principles.adoc
+++ 
b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_core-concepts_principles.adoc
@@ -7,8 +7,8 @@
 
 
 Apache Isis is primarily aimed at custom-built "enterprise" applications.
-The UI provided by the xref:ugvw.adoc#[Wicket viewer] is intended to be usable 
by domain experts, typically end-users within the organization.pdf
-The REST API exposed by the xref:ugvro.adoc#[RestfulObjects viewer] allows 
custom apps to be developed -- eg using Angular or similar -- for use by those 
requiring more guidance; typically end-users outside of the organization.
+The UI provided by the xref:../ugvw/ugvw.adoc#[Wicket viewer] is intended to 
be usable by domain experts, typically end-users within the organization.pdf
+The REST API exposed by the xref:../ugvro/ugvro.adoc#[RestfulObjects viewer] 
allows custom apps to be developed -- eg using Angular or similar -- for use by 
those requiring more guidance; typically end-users outside of the organization.
 This section describes some of the core principles and values that the 
framework aims to honour and support.
 
 

http://git-wip-us.apache.org/repos/asf/isis/blob/b2b87ca4/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_core-concepts_principles_for-the-long-term.adoc
----------------------------------------------------------------------
diff --git 
a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_core-concepts_principles_for-the-long-term.adoc
 
b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_core-concepts_principles_for-the-long-term.adoc
index 6fa5091..2161ed0 100644
--- 
a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_core-concepts_principles_for-the-long-term.adoc
+++ 
b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_core-concepts_principles_for-the-long-term.adoc
@@ -23,7 +23,7 @@ The diagram below illustrates this:
 .decoupled applications
 
image::{_imagesdir}core-concepts/philosophy/decoupled-applications.png[width="800px",link="{_imagesdir}core-concepts/philosophy/decoupled-applications.png"]
 
-Here, the presentation layer (xref:ugvw.adoc#[Wicket UI] or 
xref:ugvro.adoc#[REST API]) is handled by the framework, while the developer 
focusses on just the domain layer.
+Here, the presentation layer (xref:../ugvw/ugvw.adoc#[Wicket UI] or 
xref:../ugvro/ugvro.adoc#[REST API]) is handled by the framework, while the 
developer focusses on just the domain layer.
 The framework encourages splitting this functionality into modules; each such 
module has its counterpart (typically tables within a given RDBMS database 
schema) within the persistence layer.
 
 This architecture means that it's impossible for business logic to leach out 
into the adjacent presentation layer because the developer doesn't (can't) 
write any code for presentation layer.

http://git-wip-us.apache.org/repos/asf/isis/blob/b2b87ca4/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_getting-started_simpleapp-archetype.adoc
----------------------------------------------------------------------
diff --git 
a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_getting-started_simpleapp-archetype.adoc
 
b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_getting-started_simpleapp-archetype.adoc
index f0a36cb..9ee535d 100644
--- 
a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_getting-started_simpleapp-archetype.adoc
+++ 
b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_getting-started_simpleapp-archetype.adoc
@@ -89,7 +89,7 @@ where `myapp` is the `artifactId` entered above.
 
 == Running the App
 
-The `simpleapp` archetype generates a single WAR file, configured to run both 
the xref:ugvw.adoc#[Wicket viewer] and the xref:ugvro.adoc#[Restful Objects 
viewer].  The archetype also configures the DataNucleus/JDO Objectstore to use 
an in-memory HSQLDB connection.
+The `simpleapp` archetype generates a single WAR file, configured to run both 
the xref:../ugvw/ugvw.adoc#[Wicket viewer] and the 
xref:../ugvro/ugvro.adoc#[Restful Objects viewer].  The archetype also 
configures the DataNucleus/JDO Objectstore to use an in-memory HSQLDB 
connection.
 
 Once you've built the app, you can run the WAR in a variety of ways.
 
@@ -130,7 +130,7 @@ 
image::{_imagesdir}getting-started/simpleapp-webapp.png[width="600px",link="{_im
 
 == Running with Fixtures
 
-It is also possible to start the application with a pre-defined set of data; 
useful for demos or manual exploratory testing.  This is done by specifying a 
xref:ugtst.adoc#_ugtst_fixture-scripts[fixture script] on the command line.
+It is also possible to start the application with a pre-defined set of data; 
useful for demos or manual exploratory testing.  This is done by specifying a 
xref:../ugtst/ugtst.adoc#_ugtst_fixture-scripts[fixture script] on the command 
line.
 
 If you are running the app from an IDE, then you can specify the fixture 
script using the `--fixture` flag.  The archetype provides the 
`domainapp.fixture.scenarios.RecreateSimpleObjects` fixture script, for example:
 
@@ -149,7 +149,7 @@ These screenshots are for v1.10.0.
 ====
 
 
-When you start the app, you'll be presented with a welcome page from which you 
can access the webapp using either the xref:ugvw.adoc#[Wicket viewer] or the 
xref:ugvro.adoc#[Restful Objects viewer]:
+When you start the app, you'll be presented with a welcome page from which you 
can access the webapp using either the xref:../ugvw/ugvw.adoc#[Wicket viewer] 
or the xref:../ugvro/ugvro.adoc#[Restful Objects viewer]:
 
 
image::{_imagesdir}getting-started/using-simple-app/010-root-page.png[width="600px",link="{_imagesdir}getting-started/using-simple-app/010-root-page.png"]
 
@@ -158,7 +158,7 @@ The Wicket viewer provides a human usable web UI 
(implemented, as you might have
 
 
image::{_imagesdir}getting-started/using-simple-app/020-login-to-wicket-viewer.png[width="600px",link="{_imagesdir}getting-started/using-simple-app/020-login-to-wicket-viewer.png"]
 
-The app itself is configured to run using xref:ugsec.adoc#[shiro security], as 
configured in the `WEB-INF/shiro.ini` config file.  You can login with:
+The app itself is configured to run using xref:../ugsec/ugsec.adoc#[shiro 
security], as configured in the `WEB-INF/shiro.ini` config file.  You can login 
with:
 
 * username: _sven_
 * password: _pass_
@@ -266,10 +266,10 @@ As noted above, the generated app is a very simple 
application consisting of a s
 |Domain object fixtures used for initializing the system when being demo'ed or 
for unit testing.
 
 |`myapp-integtests`
-|End-to-end xref:ugtst.adoc#_ugtst_integ-test-support[integration tests] that 
exercise from the UI through to the database
+|End-to-end xref:../ugtst/ugtst.adoc#_ugtst_integ-test-support[integration 
tests] that exercise from the UI through to the database
 
 |`myapp-webapp`
-|Run as a webapp (from `web.xml`) hosting the xref:ugvw.adoc#[Wicket viewer] 
and/or the xref:ugvro.adoc#[RestfulObjects viewer]
+|Run as a webapp (from `web.xml`) hosting the xref:../ugvw/ugvw.adoc#[Wicket 
viewer] and/or the xref:../ugvro/ugvro.adoc#[RestfulObjects viewer]
 
 |===
 

http://git-wip-us.apache.org/repos/asf/isis/blob/b2b87ca4/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_how-tos_class-structure.adoc
----------------------------------------------------------------------
diff --git 
a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_how-tos_class-structure.adoc
 
b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_how-tos_class-structure.adoc
index e484a74..4e0b7f9 100644
--- 
a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_how-tos_class-structure.adoc
+++ 
b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_how-tos_class-structure.adoc
@@ -5,7 +5,7 @@
 :_imagesdir: images/
 
 
-Apache Isis works by building a metamodel of the domain objects: entities, 
xref:ugbtb.adoc#_ugbtb_view-models[view model]s and services.
+Apache Isis works by building a metamodel of the domain objects: entities, 
xref:../ugbtb/ugbtb.adoc#_ugbtb_view-models[view model]s and services.
 The class methods of both entities and view models represent both state -- 
(single-valued) properties and (multi-valued) collections -- and behaviour -- 
actions.  The class members of domain services is simpler: just behaviour, ie 
actions.
 
 In the automatically generated UI a property is rendered as a field.
@@ -24,7 +24,7 @@ In this section we discuss the mechanics of writing domain 
objects that comply w
 In fact, the Apache Isis programming model is extensible; you can teach Apache 
Isis new programming conventions and you can remove existing ones; ultimately 
they amount to syntax.
 The only real fundamental that can't be changed is the notion that objects 
consist of properties, collections and actions.
 
-You can learn more about extending Apache Isis programming model 
xref:ugbtb.adoc#_ugbtb_programming-model[here].
+You can learn more about extending Apache Isis programming model 
xref:../ugbtb/ugbtb.adoc#_ugbtb_programming-model[here].
 ====
 
 

http://git-wip-us.apache.org/repos/asf/isis/blob/b2b87ca4/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_how-tos_class-structure_class-definition.adoc
----------------------------------------------------------------------
diff --git 
a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_how-tos_class-structure_class-definition.adoc
 
b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_how-tos_class-structure_class-definition.adoc
index f88aa9c..70b3659 100644
--- 
a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_how-tos_class-structure_class-definition.adoc
+++ 
b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_how-tos_class-structure_class-definition.adoc
@@ -22,7 +22,7 @@ Apache Isis recognizes some of the JDO and JAXB annotations 
and infers domain se
 You can generally recognize an Apache Isis domain class because it will be 
probably be annotated using `@DomainObject` and `@DomainService`.
 The framework also defines supplementary annotations, `@DomainObjectLayout` 
and `@DomainServiceLayout`.
 These provide hints relating to the layout of the domain object in the user 
interface.
-(Alternatively, these UI hints can be defined in a supplementary 
xref:ugvw.adoc#_ugvw_layout[`.layout.xml`] file.
+(Alternatively, these UI hints can be defined in a supplementary 
xref:../ugvw/ugvw.adoc#_ugvw_layout[`.layout.xml`] file.
 
 We use Maven modules as a way to group related domain objects together; we can 
then reason about all the classes in that module as a single unit.
 By convention there will be a single top-level package corresponding to the 
module.
@@ -167,7 +167,7 @@ There is further discussion of service injection 
xref:../ugfun/ugfun.adoc#_ugfun
 [[__ugfun_how-tos_class-structure_class-definition_view-models]]
 == View Models
 
-xref:ugbtb.adoc#_ugbtb_view-models[View model]s are similar to entities in 
that (unlike domain services) there can be many instances of any given type; 
but they differ from entities in that they are not persisted into a database.
+xref:../ugbtb/ugbtb.adoc#_ugbtb_view-models[View model]s are similar to 
entities in that (unlike domain services) there can be many instances of any 
given type; but they differ from entities in that they are not persisted into a 
database.
 Instead they are recreated dynamically by serializing their state, ultimately 
into the URL itself.
 
 A common use case for view models is to support a business process.
@@ -177,7 +177,7 @@ Another use case is for a view model to act as a proxy for 
an entity that is man
 For example, a `Content` view model could represent a PDF that has been 
scanned and is held within a separate Content Management system.
 
 A third use case is to define DTOs that act as a stable projection of one or 
more underlying entities.
-Apache Isis' xref:ugvro.adoc[Restful Objects] viewer provides a REST API that 
then allows REST clients to query the application using these DTOs; useful for 
integration scenarios.
+Apache Isis' xref:../ugvro/ugvro.adoc[Restful Objects] viewer provides a REST 
API that then allows REST clients to query the application using these DTOs; 
useful for integration scenarios.
 
 Apache Isis offers several ways to implement view models, but the most 
flexible/powerful is to annotate the class using JAXB annotations.
 For example:

http://git-wip-us.apache.org/repos/asf/isis/blob/b2b87ca4/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_how-tos_class-structure_collections.adoc
----------------------------------------------------------------------
diff --git 
a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_how-tos_class-structure_collections.adoc
 
b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_how-tos_class-structure_collections.adoc
index a01e1de..16a58de 100644
--- 
a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_how-tos_class-structure_collections.adoc
+++ 
b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_how-tos_class-structure_collections.adoc
@@ -16,7 +16,7 @@ Most collections (those that are modifiable) will also have a 
setter and (if per
 And collections properties will also have a number of annotations:
 
 * Apache Isis defines its own set own `@Collection` annotation for capturing 
domain semantics.
-It also provides a `@CollectionLayout` for UI hints (though the information in 
this annotation may instead be provided by a supplementary 
xref:ugvw.adoc#_ugvw_layout[`.layout.xml`] file
+It also provides a `@CollectionLayout` for UI hints (though the information in 
this annotation may instead be provided by a supplementary 
xref:../ugvw/ugvw.adoc#_ugvw_layout[`.layout.xml`] file
 
 * the collections of domain entities are often annotated with various 
JDO/DataNucleus annotations, most notable `javax.jdo.annotations.Persistent`.
 This and other annotations can be used to specify if the association is 
bidirectional, and whether to define a link table or not to hold foreign key 
columns.
@@ -25,7 +25,7 @@ This and other annotations can be used to specify if the 
association is bidirect
 
 Apache Isis recognises some of these annotations for JDO/DataNucleus and JAXB 
and infers some domain semantics from them (for example, the maximum allowable 
length of a string property).
 
-Unlike 
xref:../ugfun/ugfun.adoc#_ugfun_how-tos_class-structure_properties[properties], 
the framework (at least, the xref:ugvw.adoc[Wicket viewer]) does not allow 
collections to be "edited".
+Unlike 
xref:../ugfun/ugfun.adoc#_ugfun_how-tos_class-structure_properties[properties], 
the framework (at least, the xref:../ugvw/ugvw.adoc[Wicket viewer]) does not 
allow collections to be "edited".
 Instead, 
xref:../ugfun/ugfun.adoc#_ugfun_how-tos_class-structure_actions[action]s can be 
written that will modify the contents of the collection as a side-effect.
 For example, a `placeOrder(...)` action will likely add an `Order` to the 
`Customer#orders` collection.
 

http://git-wip-us.apache.org/repos/asf/isis/blob/b2b87ca4/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_how-tos_class-structure_properties.adoc
----------------------------------------------------------------------
diff --git 
a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_how-tos_class-structure_properties.adoc
 
b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_how-tos_class-structure_properties.adoc
index 1c8bd36..5a49a5b 100644
--- 
a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_how-tos_class-structure_properties.adoc
+++ 
b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_how-tos_class-structure_properties.adoc
@@ -16,7 +16,7 @@ Most properties (those that are editable/modifiable) will 
also have a setter and
 And most properties will also have a number of annotations:
 
 * Apache Isis defines its own set own `@Property` annotation for capturing 
domain semantics.
-It also provides a `@PropertyLayout` for UI hints (though the information in 
this annotation may instead be provided by a supplementary 
xref:ugvw.adoc#_ugvw_layout[`.layout.xml`] file
+It also provides a `@PropertyLayout` for UI hints (though the information in 
this annotation may instead be provided by a supplementary 
xref:../ugvw/ugvw.adoc#_ugvw_layout[`.layout.xml`] file
 
 * the properties of domain entities are often annotated with the 
JDO/DataNucleus `@javax.jdo.annotations.Column` annotation.
 For property references, there may be other annotations to indicate whether 
the reference is bidirectional.
@@ -129,7 +129,7 @@ If this is omitted then whether editing is enabled or 
disabled is defined global
 [[__ugfun_how-tos_class-structure_properties_ignoring-properties]]
 == Ignoring Properties
 
-By default Apache Isis will automatically render all properties in the 
xref:ugvw.adoc[UI] or in the xref:ugvro.adoc[REST API].
+By default Apache Isis will automatically render all properties in the 
xref:../ugvw/ugvw.adoc[UI] or in the xref:../ugvro/ugvro.adoc[REST API].
 To get Apache Isis to ignore a property (exclude it from its metamodel), 
annotate the getter using `@Programmatic`.
 
 Similarly, you can tell JDO/DataNucleus to ignore a property using the 
`@javax.jdo.annotations.NotPersistent` annotation.

http://git-wip-us.apache.org/repos/asf/isis/blob/b2b87ca4/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_how-tos_domain-services.adoc
----------------------------------------------------------------------
diff --git 
a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_how-tos_domain-services.adoc
 
b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_how-tos_domain-services.adoc
index 4bda8a0..4159152 100644
--- 
a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_how-tos_domain-services.adoc
+++ 
b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_how-tos_domain-services.adoc
@@ -173,7 +173,7 @@ public OrderContributions {
 <3> Only actions with a single argument can be contributed as associations
 
 More information about contributions can be found 
xref:../ugfun/ugfun.adoc#_ugfun_how-tos_contributed-members[here].  More 
information
-about using contributions and mixins to keep your domain application decoupled 
can be found xref:ugbtb.adoc#_ugbtb_decoupling_contributions[here] and 
xref:ugbtb.adoc#_ugbtb_decoupling_mixins[here].
+about using contributions and mixins to keep your domain application decoupled 
can be found xref:../ugbtb/ugbtb.adoc#_ugbtb_decoupling_contributions[here] and 
xref:../ugbtb/ugbtb.adoc#_ugbtb_decoupling_mixins[here].
 
 
 === Event Subscribers

http://git-wip-us.apache.org/repos/asf/isis/blob/b2b87ca4/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_how-tos_ui-hints_action-icons-and-css.adoc
----------------------------------------------------------------------
diff --git 
a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_how-tos_ui-hints_action-icons-and-css.adoc
 
b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_how-tos_ui-hints_action-icons-and-css.adoc
index 3a62241..7c15e16 100644
--- 
a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_how-tos_ui-hints_action-icons-and-css.adoc
+++ 
b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_how-tos_ui-hints_action-icons-and-css.adoc
@@ -14,7 +14,7 @@ These UI hint can be applied either to individual actions, or 
can be applied en-
 NOTE: FIXME - 
xref:../rgant/rgant.adoc#_rgant-ActionLayout_cssClass[`@ActionLayout#cssClass()`]
 and 
xref:../rgant/rgant.adoc#_rgant-ActionLayout_cssClassFa[`@ActionLayout#cssClassFa()`]
 
 
-Alternatively, you can specify these hints dynamically in the 
xref:ugvw.adoc#_ugvw_layout[`Xxx.layout.json`] for the entity.
+Alternatively, you can specify these hints dynamically in the 
xref:../ugvw/ugvw.adoc#_ugvw_layout[`Xxx.layout.json`] for the entity.
 
 
 == Per pattern matching

http://git-wip-us.apache.org/repos/asf/isis/blob/b2b87ca4/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_how-tos_ui-hints_layout.adoc
----------------------------------------------------------------------
diff --git 
a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_how-tos_ui-hints_layout.adoc
 
b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_how-tos_ui-hints_layout.adoc
index 580a564..a4b02a1 100644
--- 
a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_how-tos_ui-hints_layout.adoc
+++ 
b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_how-tos_ui-hints_layout.adoc
@@ -5,5 +5,5 @@
 :_imagesdir: images/
 
 
-See the xref:ugvw.adoc#_ugvw_layout[object layout] chapter.
+See the xref:../ugvw/ugvw.adoc#_ugvw_layout[object layout] chapter.
 

http://git-wip-us.apache.org/repos/asf/isis/blob/b2b87ca4/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_how-tos_ui-hints_names-and-descriptions.adoc
----------------------------------------------------------------------
diff --git 
a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_how-tos_ui-hints_names-and-descriptions.adoc
 
b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_how-tos_ui-hints_names-and-descriptions.adoc
index 17a908a..0b9e432 100644
--- 
a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_how-tos_ui-hints_names-and-descriptions.adoc
+++ 
b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_how-tos_ui-hints_names-and-descriptions.adoc
@@ -8,7 +8,7 @@ NOTE: FIXME
 
 
 
-NOTE: see also xref:ugbtb.adoc#_ugbtb_i18n[Internationalization]
+NOTE: see also xref:../ugbtb/ugbtb.adoc#_ugbtb_i18n[Internationalization]
 
 == Class (object)
 

http://git-wip-us.apache.org/repos/asf/isis/blob/b2b87ca4/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_how-tos_ui-hints_object-titles-and-icons.adoc
----------------------------------------------------------------------
diff --git 
a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_how-tos_ui-hints_object-titles-and-icons.adoc
 
b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_how-tos_ui-hints_object-titles-and-icons.adoc
index 6af3a1b..3a5b643 100644
--- 
a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_how-tos_ui-hints_object-titles-and-icons.adoc
+++ 
b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_how-tos_ui-hints_object-titles-and-icons.adoc
@@ -9,7 +9,7 @@ In Apache Isis every object is identified to the user by a 
title (label) and an
 
 The icon is often the same for all instances of a particular class, but it's 
also possible for an individual instance to return a custom icon.  This could 
represent the state of that object (eg a shipped order, say, or overdue library 
book).
 
-It is also possible for an object to provide a CSS class hint.  In conjunction 
with xref:ugvw.adoc#_ugvw_customisation_tweaking-css-classes[customized CSS] 
this can be used to apply arbitrary styling; for example each object could be 
rendered in a page with a different background colour.
+It is also possible for an object to provide a CSS class hint.  In conjunction 
with xref:../ugvw/ugvw.adoc#_ugvw_customisation_tweaking-css-classes[customized 
CSS] this can be used to apply arbitrary styling; for example each object could 
be rendered in a page with a different background colour.
 
 
 == Object Title
@@ -92,6 +92,6 @@ NOTE: FIXME - 
xref:../rgcms/rgcms.adoc#_rgcms_methods_reserved_iconName[`iconNam
 == Object CSS Styling
 
 
-It is also possible for an object to return a 
xref:../rgcms/rgcms.adoc#_rgcms_methods_reserved_cssClass[CSS class].  In 
conjunction with 
xref:ugvw.adoc#_ugvw_customisation_tweaking-css-classes[customized CSS] this 
can be used to apply arbitrary styling; for example each object could be 
rendered in a page with a different background colour.
+It is also possible for an object to return a 
xref:../rgcms/rgcms.adoc#_rgcms_methods_reserved_cssClass[CSS class].  In 
conjunction with 
xref:../ugvw/ugvw.adoc#_ugvw_customisation_tweaking-css-classes[customized CSS] 
this can be used to apply arbitrary styling; for example each object could be 
rendered in a page with a different background colour.
 
 NOTE: FIXME - 
xref:../rgcms/rgcms.adoc#_rgcms_methods_reserved_cssClass[`cssClass()`], 
xref:../rgant/rgant.adoc#_rgant-DomainObjectLayout_cssClass[`@DomainObjectLayout#cssClass()`]
 
xref:../rgant/rgant.adoc#_rgant-ActionLayout_cssClass[`@ActionLayout#cssClass()`],
 
xref:../rgant/rgant.adoc#_rgant-PropertyLayout_cssClass[`@PropertyLayout#cssClass()`],
 
xref:../rgant/rgant.adoc#_rgant-CollectionLayout_cssClass[`@CollectionLayout#cssClass()`]

http://git-wip-us.apache.org/repos/asf/isis/blob/b2b87ca4/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_how-tos_ui_are-you-sure.adoc
----------------------------------------------------------------------
diff --git 
a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_how-tos_ui_are-you-sure.adoc
 
b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_how-tos_ui_are-you-sure.adoc
index 06dc559..7c24458 100644
--- 
a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_how-tos_ui_are-you-sure.adoc
+++ 
b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_how-tos_ui_are-you-sure.adoc
@@ -42,7 +42,7 @@ image::{_imagesdir}/how-tos/tips-n-tricks/are-you-sure.png[]
 
 [NOTE]
 ====
-Note that these screenshots shows an earlier version of the 
xref:ugvw.adoc#[Wicket viewer] UI (specifically, pre 1.8.0).
+Note that these screenshots shows an earlier version of the 
xref:../ugvw/ugvw.adoc#[Wicket viewer] UI (specifically, pre 1.8.0).
 ====
 
 If the user checks the box:

http://git-wip-us.apache.org/repos/asf/isis/blob/b2b87ca4/adocs/documentation/src/main/asciidoc/guides/ugfun/ugfun.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/ugfun/ugfun.adoc 
b/adocs/documentation/src/main/asciidoc/guides/ugfun/ugfun.adoc
index 6a30398..e838c6e 100644
--- a/adocs/documentation/src/main/asciidoc/guides/ugfun/ugfun.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/ugfun/ugfun.adoc
@@ -13,7 +13,7 @@ This guide introduces the 
xref:../ugfun/ugfun.adoc#_ugfun_core-concepts[core con
 and tells you how to xref:../ugfun/ugfun.adoc#_ugfun_getting-started[get 
started] with a Maven archetype.
 
 It also describes a number of 
xref:../ugfun/ugfun.adoc#_ugfun_how-tos[how-to]s, describes how to influence the
-xref:ugvw.adoc#_ugvw_layout[UI layout] of your domain objects (this is 
ultimately just a type of metadata), and it
+xref:../ugvw/ugvw.adoc#_ugvw_layout[UI layout] of your domain objects (this is 
ultimately just a type of metadata), and it
  catalogues various xref:../dg/dg.adoc#_dg_hints-and-tips.adoc[FAQ]s.
 
 === Other Guides

http://git-wip-us.apache.org/repos/asf/isis/blob/b2b87ca4/adocs/documentation/src/main/asciidoc/guides/ugodn/_ugodn_configuring.adoc
----------------------------------------------------------------------
diff --git 
a/adocs/documentation/src/main/asciidoc/guides/ugodn/_ugodn_configuring.adoc 
b/adocs/documentation/src/main/asciidoc/guides/ugodn/_ugodn_configuring.adoc
index 3681912..1734c98 100644
--- a/adocs/documentation/src/main/asciidoc/guides/ugodn/_ugodn_configuring.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/ugodn/_ugodn_configuring.adoc
@@ -8,7 +8,7 @@ Apache Isis programmatically configures DataNucleus; any Apache 
Isis properties
 
 DataNucleus will for itself also and read the `META-INF/persistence.xml`; at a 
minimum this defines the name of the "persistence unit".  n theory it could 
also hold mappings, though in Apache Isis we tend to use annotations instead.
 
-Furthermore, DataNucleus will search for various other XML mapping files, eg 
`mappings.jdo`.  A full list can be found 
http://www.datanucleus.org/products/datanucleus/jdo/metadata.html[here].  The 
metadata in these XML can be used to override the annotations of annotated 
entities; see 
xref:ugbtb.adoc#_ugbtb_other-techniques_overriding-jdo-annotations[Overriding 
JDO Annotatons] for further discussion.
+Furthermore, DataNucleus will search for various other XML mapping files, eg 
`mappings.jdo`.  A full list can be found 
http://www.datanucleus.org/products/datanucleus/jdo/metadata.html[here].  The 
metadata in these XML can be used to override the annotations of annotated 
entities; see 
xref:../ugbtb/ugbtb.adoc#_ugbtb_other-techniques_overriding-jdo-annotations[Overriding
 JDO Annotatons] for further discussion.
 
 
 include::_ugodn_configuring_properties.adoc[leveloffset=+1]

Reply via email to