You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2017/04/20 08:12:13 UTC

[04/58] [abbrv] isis git commit: ISIS-1521: fixes xref links between guides

http://git-wip-us.apache.org/repos/asf/isis/blob/252c2f8e/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_spi_PublisherService.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_spi_PublisherService.adoc b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_spi_PublisherService.adoc
index 4e4a511..fa65e0e 100644
--- a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_spi_PublisherService.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_spi_PublisherService.adoc
@@ -12,14 +12,14 @@ link:http://activemq.apache.org/[ActiveMQ] with link:http://camel.apache.org[Cam
 
 An alternative use is for profiling: for each execution (action invocation/property edit) the framework captures
 metrics of the number of objects loaded or dirtied as the result of that execution.  If the
-xref:rgsvc.adoc#_rgsvc_api_WrapperFactory[`WrapperFactory`] is used to call other objects then the metrics are captured
+xref:../rgsvc/rgsvc.adoc#_rgsvc_api_WrapperFactory[`WrapperFactory`] is used to call other objects then the metrics are captured
 for each sub-execution.  The framework provides a default implementation, `PublisherServiceLogging`, that will log
-these execution graphs (in XML form, per the xref:rgcms.adoc#_rgcms_schema-ixn["ixn" schema]) to an SLF4J logger.
+these execution graphs (in XML form, per the xref:../rgcms/rgcms.adoc#_rgcms_schema-ixn["ixn" schema]) to an SLF4J logger.
 
 Only actions/properties/domain objects annotated for publishing (using
-xref:rgant.adoc#_rgant-Action_publishing[`@Action#publishing()`],
-xref:rgant.adoc#_rgant-Property_publishing[`@Property#publishing()`] or
-xref:rgant.adoc#_rgant-DomainObject_publishing[`@DomainObject#publishing()`]) are published.
+xref:../rgant/rgant.adoc#_rgant-Action_publishing[`@Action#publishing()`],
+xref:../rgant/rgant.adoc#_rgant-Property_publishing[`@Property#publishing()`] or
+xref:../rgant/rgant.adoc#_rgant-DomainObject_publishing[`@DomainObject#publishing()`]) are published.
 
 
 == SPI
@@ -37,9 +37,9 @@ public interface PublisherService {
 <2> to publish a set of changed objects.
 
 Each `Interaction.Execution` has an owning `Interaction`; this is the same object obtainable from
-xref:rgsvc.adoc#_rgsvc_spi_InteractionContext[`InteractionContext`].  Implementations that publish member executions
+xref:../rgsvc/rgsvc.adoc#_rgsvc_spi_InteractionContext[`InteractionContext`].  Implementations that publish member executions
 can use `Interaction.Execution#getDto()` method to return a DTO (as per the
-xref:rgcms.adoc#_rgcms_schema-ixn["ixn" schema]) which can be converted into a serializable XML representation using
+xref:../rgcms/rgcms.adoc#_rgcms_schema-ixn["ixn" schema]) which can be converted into a serializable XML representation using
 the `InteractionDtoUtils` utility class.  The XML can either serialize a single execution, or can be a "deep"
  serialization of an execution and all sub-executions.
 
@@ -64,7 +64,7 @@ public interface PublishedObjects extends HasTransactionId, HasUsername {
 objects were changed.
 <2> inherited from `HasUsername`, is the user that initiated the transaction causing these objects to change
 <3> the time that this set of objects was collated (just before the completion of the transaction completes)..
-<4> returns a DTO (as per the xref:rgcms.adoc#_rgcms_schema-chg["chg" schema]) which can be converted into a
+<4> returns a DTO (as per the xref:../rgcms/rgcms.adoc#_rgcms_schema-chg["chg" schema]) which can be converted into a
 serializable XML representation can be obtained using the `ChangesDtoUtils` utility class.
 <5> metrics as to the number of objects loaded, created, updated or deleted and the number of object properties modified (in other words the "size" or "weight" of the transaction).
 
@@ -101,13 +101,13 @@ and monitoring the activity of subscribers of said message queues.
 == Usage
 
 To indicate that an action invocation should be published, annotate it with the
-xref:rgant.adoc#_rgant-Action_publishing[`@Action#publishing()`] annotation.
+xref:../rgant/rgant.adoc#_rgant-Action_publishing[`@Action#publishing()`] annotation.
 
 To indicate that an property edit should be published, annotate it with the
-xref:rgant.adoc#_rgant-Property_publishing[`@Property#publishing()`] annotation.
+xref:../rgant/rgant.adoc#_rgant-Property_publishing[`@Property#publishing()`] annotation.
 
 To indicate that a changed object should be published is to annotate it with the
-xref:rgant.adoc#_rgant-DomainObject_publishing[`@DomainObject#publishing()`] annotation.
+xref:../rgant/rgant.adoc#_rgant-DomainObject_publishing[`@DomainObject#publishing()`] annotation.
 
 
 
@@ -115,7 +115,7 @@ xref:rgant.adoc#_rgant-DomainObject_publishing[`@DomainObject#publishing()`] ann
 
 The (non-ASF) Isis addons' http://github.com/isisaddons/isis-module-publishmq[publishmq] module provides an
 implementation of this service. Assuming that an `AppManifest` is being used to
-xref:rgcms.adoc#_rgcms_classes_AppManifest-bootstrapping[bootstrap the app]) then this can be activated by updating
+xref:../rgcms/rgcms.adoc#_rgcms_classes_AppManifest-bootstrapping[bootstrap the app]) then this can be activated by updating
 the `pom.xml` and updating the `AppManifest#getModules()` method.
 
 The module also provide services that contribute to the UI.  If contributions are not required in the UI, these can be
@@ -133,7 +133,7 @@ This service supports two main use cases:
 +
 [NOTE]
 ====
-The xref:rgsvc.adoc#_rgsvc_spi_PublishingService[`PublishingService`] also supports this use case, but
+The xref:../rgsvc/rgsvc.adoc#_rgsvc_spi_PublishingService[`PublishingService`] also supports this use case, but
 is deprecated: the `PublisherService` is intended as a replacement for `PublishingService`.
 ====
 
@@ -142,24 +142,24 @@ is deprecated: the `PublisherService` is intended as a replacement for `Publishi
 
 To support these use cases several other services are involved:
 
-* the xref:rgsvc.adoc#_rgsvc_api_InteractionContext[`InteractionContext`] is used to obtain the `Interaction` from which
+* the xref:../rgsvc/rgsvc.adoc#_rgsvc_api_InteractionContext[`InteractionContext`] is used to obtain the `Interaction` from which
 the member executions are published.
 
-* the (internal) xref:rgfis.adoc#_rgfis_spi_ChangedObjectsServiceInternal[`ChangedObjectsServiceInternal`] domain
+* the (internal) xref:../rgfis/rgfis.adoc#_rgfis_spi_ChangedObjectsServiceInternal[`ChangedObjectsServiceInternal`] domain
 service is used to obtain the set of objects modified throughout the transaction
 
-* the (internal) xref:rgfis.adoc#_rgfis_spi_PublisherServiceInternal[`PublisherServiceInternal`] domain service filters
+* the (internal) xref:../rgfis/rgfis.adoc#_rgfis_spi_PublisherServiceInternal[`PublisherServiceInternal`] domain service filters
 these down to those changed objects that are also published (as per
-xref:rgant.adoc#_rgant-DomainObject_publishing[`@DomainObject#publishing()`]) and delegates to the `PublisherService`.
+xref:../rgant/rgant.adoc#_rgant-DomainObject_publishing[`@DomainObject#publishing()`]) and delegates to the `PublisherService`.
 
-* the xref:rgsvc.adoc#_rgsvc_api_MetricsService[`MetricsService`] is used to obtain the objects that are loaded
+* the xref:../rgsvc/rgsvc.adoc#_rgsvc_api_MetricsService[`MetricsService`] is used to obtain the objects that are loaded
 throughout the transaction; this info is used in order to instantiate the `PublishedObjects` object passed through to
 the `PublisherService`.
 
-The xref:rgsvc.adoc#_rgsvc_api_EventBusService[`EventBusService`] differs from the `PublisherService` in that it is
+The xref:../rgsvc/rgsvc.adoc#_rgsvc_api_EventBusService[`EventBusService`] differs from the `PublisherService` in that it is
 intended for fine-grained publish/subscribe for object-to-object interactions within an Apache Isis domain object
 model. The event propagation is strictly in-memory, and there are no restrictions on the object acting as the event;
 it need not be serializable, for example.  That said, it is possible to obtain a serialization of the action
 invocation/property edit causing the current event to be raised using
-xref:rgsvc.adoc#_rgsvc_api_InteractionContext[`InteractionContext`] domain service.
+xref:../rgsvc/rgsvc.adoc#_rgsvc_api_InteractionContext[`InteractionContext`] domain service.
 

http://git-wip-us.apache.org/repos/asf/isis/blob/252c2f8e/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_spi_PublishingService.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_spi_PublishingService.adoc b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_spi_PublishingService.adoc
index 543d66e..7897e4f 100644
--- a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_spi_PublishingService.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_spi_PublishingService.adoc
@@ -11,7 +11,7 @@ The `PublishingService` API is intended for coarse-grained publish/subscribe for
 
 [WARNING]
 ====
-As of `1.13.0` this service is deprecated, replaced with xref:rgsvc.adoc#_rgsvc_spi_PublisherService[`PublisherService`].
+As of `1.13.0` this service is deprecated, replaced with xref:../rgsvc/rgsvc.adoc#_rgsvc_spi_PublisherService[`PublisherService`].
 ====
 
 
@@ -30,9 +30,9 @@ public interface PublishingService {
     void setEventSerializer(EventSerializer eventSerializer);   // <3>
 }
 ----
-<1> standard metadata about the event, such as the user, the xref:rgcms.adoc#_rgcms_classes_mixins_HasTransactionId[`transactionId`], date/time etc
+<1> standard metadata about the event, such as the user, the xref:../rgcms/rgcms.adoc#_rgcms_classes_mixins_HasTransactionId[`transactionId`], date/time etc
 <2> for published actions, an `EventPayloadForActionInvocation` (or subclass thereof); for published objects, an `EventPayloadForObjectChanged` (or subclass thereof)
-<3> injects in the xref:rgsvc.adoc#_rgsvc_spi_EventSerializer[`EventSerializer`] service.  This is deprecated because not every implementation is required to use an `EventSerializer` so its inclusion within the SPI of `PublishingService` was in retrospect a mistake.
+<3> injects in the xref:../rgsvc/rgsvc.adoc#_rgsvc_spi_EventSerializer[`EventSerializer`] service.  This is deprecated because not every implementation is required to use an `EventSerializer` so its inclusion within the SPI of `PublishingService` was in retrospect a mistake.
 
 
 Typically implementations will use the injected `EventSerializer` to convert the metadata and payload into a form to be published:
@@ -68,16 +68,16 @@ The framework provides no default implementations of this service.
 
 == Usage
 
-To indicate that an action invocation should be published, annotate it with the xref:rgant.adoc#_rgant-Action_publishing[`@Action#publishing()`] annotation.
+To indicate that an action invocation should be published, annotate it with the xref:../rgant/rgant.adoc#_rgant-Action_publishing[`@Action#publishing()`] annotation.
 
-To indicate that a changed object should be published is to annotate it with the xref:rgant.adoc#_rgant-DomainObject_publishing[`@DomainObject#publishing()`] annotation.
+To indicate that a changed object should be published is to annotate it with the xref:../rgant/rgant.adoc#_rgant-DomainObject_publishing[`@DomainObject#publishing()`] annotation.
 
 
 It is also possible to "fine-tune" the `EventPayload` using the `#publishingFactory()` attribute (for both annotations).  By default the `EventPayload` that is serialized identifies the object(s) being interacted with or changed, and in the case of the action invocation provides details of the action arguments and result (if any) of that action.  However, the payload does not (by default) include any information about the new state of these objects. It is therefore the responsibility of the subscriber to call back to Apache Isis to determine any information that has not been published.
 
 [NOTE]
 ====
-The replacement xref:rgsvc.adoc#_rgsvc_spi_PublisherService[`PublisherService`] does __not__ support the concept of "payload factories" (but is otherwise more flexible).
+The replacement xref:../rgsvc/rgsvc.adoc#_rgsvc_spi_PublisherService[`PublisherService`] does __not__ support the concept of "payload factories" (but is otherwise more flexible).
 ====
 
 
@@ -155,7 +155,7 @@ There is no default implementation of this service provided by the core Apache I
 
 The (non-ASF) Isis addons' http://github.com/isisaddons/isis-module-publishing[publishing] module provides an
 implementation of this service. Assuming that an `AppManifest` is being used to
-xref:rgcms.adoc#_rgcms_classes_AppManifest-bootstrapping[bootstrap the app]) then this can be activated by updating
+xref:../rgcms/rgcms.adoc#_rgcms_classes_AppManifest-bootstrapping[bootstrap the app]) then this can be activated by updating
 the `pom.xml` and updating the `AppManifest#getModules()` method.
 
 The module also provides services that contribute to the UI.  If contributions are not required in the UI, these can be
@@ -170,29 +170,29 @@ xref:ugbtb.adoc#_ugbtb_decoupling_vetoing-visibility[vetoing subscriber].
 
 The `PublishingService` is intended for coarse-grained publish/subscribe for system-to-system interactions, from
 Apache Isis to some other system. Here the only events published are those that action invocations (for actions
-annotated with xref:rgant.adoc#_rgant-Action_publishing[`@Action#publishing()`]) and of changed objects (for objects
-annotated with xref:rgant.adoc#_rgant-DomainObject_publishing[`@DomainObject#publishing()`].
+annotated with xref:../rgant/rgant.adoc#_rgant-Action_publishing[`@Action#publishing()`]) and of changed objects (for objects
+annotated with xref:../rgant/rgant.adoc#_rgant-DomainObject_publishing[`@DomainObject#publishing()`].
 
-The xref:rgsvc.adoc#_rgsvc_spi_PublisherService[`PublisherService`] is intended as a replacement for this service.  The
+The xref:../rgsvc/rgsvc.adoc#_rgsvc_spi_PublisherService[`PublisherService`] is intended as a replacement for this service.  The
 use case for `PublisherService` is the same: coarse-grained publishing of events for system-to-system interactions.  It
 is in most respects more flexible though: events are published both for action invocations (annotated with
-xref:rgant.adoc#_rgant-Action_publishing[`@Action#publishing()`]) and also for property edits (annotated with
-xref:rgant.adoc#_rgant-Property_publishing[`@Property#publishing()`].  It also publishes changed objects (for objects
-annotated with xref:rgant.adoc#_rgant-DomainObject_publishing[`@DomainObject#publishing()`]).  However, rather than
+xref:../rgant/rgant.adoc#_rgant-Action_publishing[`@Action#publishing()`]) and also for property edits (annotated with
+xref:../rgant/rgant.adoc#_rgant-Property_publishing[`@Property#publishing()`].  It also publishes changed objects (for objects
+annotated with xref:../rgant/rgant.adoc#_rgant-DomainObject_publishing[`@DomainObject#publishing()`]).  However, rather than
 publishing one event for every changed objects, it publishes a single event that identifies all objects created,
 updated or deleted.
 
 Another significant difference between `PublishingService` and `PublisherService` is in the content of the events
-themselves.  While the former uses the xref:rgsvc.adoc#_rgsvc_api_MementoService[`MementoService`] to create an
-ad-hoc serialization of the action being invoked, the latter uses the xref:rgcms.adoc#_rgcms_schema[DTOs/XML schemas]
+themselves.  While the former uses the xref:../rgsvc/rgsvc.adoc#_rgsvc_api_MementoService[`MementoService`] to create an
+ad-hoc serialization of the action being invoked, the latter uses the xref:../rgcms/rgcms.adoc#_rgcms_schema[DTOs/XML schemas]
 as a formal specification of the nature of the interaction (action invocation, property edit or changed objects).
 
-The xref:rgsvc.adoc#_rgsvc_api_EventBusService[`EventBusService`] meanwhile differs from both `PublishingService` and
-xref:rgsvc.adoc#_rgsvc_spi_PublisherService[`PublisherService`] in that it is intended for fine-grained
+The xref:../rgsvc/rgsvc.adoc#_rgsvc_api_EventBusService[`EventBusService`] meanwhile differs from both `PublishingService` and
+xref:../rgsvc/rgsvc.adoc#_rgsvc_spi_PublisherService[`PublisherService`] in that it is intended for fine-grained
 publish/subscribe for object-to-object interactions within an Apache Isis domain object model. The event propagation
 is strictly in-memory, and there are no restrictions on the object acting as the event; it need not be serializable,
 for example.  (That said, it is possible to obtain a serialization of the action invocation/property edit causing the
-current event to be raised using xref:rgsvc.adoc#_rgsvc_api_InteractionContext[`InteractionContext`] domain service).
+current event to be raised using xref:../rgsvc/rgsvc.adoc#_rgsvc_api_InteractionContext[`InteractionContext`] domain service).
 
 
 == Design Notes

http://git-wip-us.apache.org/repos/asf/isis/blob/252c2f8e/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_spi_RoutingService.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_spi_RoutingService.adoc b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_spi_RoutingService.adoc
index ba96bd1..899f379 100644
--- a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_spi_RoutingService.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_spi_RoutingService.adoc
@@ -18,7 +18,7 @@ of the implementation to figure out what the "owning" object might be.
 
 * if an action returns `null` or is `void`, then return some other "useful" object. +
 +
-For example, return the home page (eg as defined by the xref:rgant.adoc#_rgant-HomePage[`@HomePage`] annotation).
+For example, return the home page (eg as defined by the xref:../rgant/rgant.adoc#_rgant-HomePage[`@HomePage`] annotation).
 
 Currently the routing service is used only by the xref:ugvw.adoc#[Wicket viewer]; it is ignored by the xref:ugvro.adoc#[Restful Objects] viewer.
 
@@ -28,7 +28,7 @@ Currently the routing service is used only by the xref:ugvw.adoc#[Wicket viewer]
 Unlike most other domain services, the framework will check _all_ available implementations of
 `RoutingService` to return a route, rather than the first implementation found; in other words it uses the
 chain-of-responsibility pattern.  Services are called in the order defined by
-xref:rgant.adoc#_rgant-DomainServiceLayout_menuOrder[`@DomainServiceLayout#menuOrder()`]).  The route used will be the
+xref:../rgant/rgant.adoc#_rgant-DomainServiceLayout_menuOrder[`@DomainServiceLayout#menuOrder()`]).  The route used will be the
 result of the first implementation checked that declares that it can provide a route.
 ====
 
@@ -55,11 +55,11 @@ public interface RoutingService {
 == Implementation
 
 The framework provides a default implementation - `RoutingServiceDefault` - which will always return the original object provided, or the home page
-if a `null` or `void` was provided.  It uses the xref:rgsvc.adoc#_rgsvc_api_HomePageProviderService[`HomePageProviderService`].
+if a `null` or `void` was provided.  It uses the xref:../rgsvc/rgsvc.adoc#_rgsvc_api_HomePageProviderService[`HomePageProviderService`].
 
 There can be multiple implementations of `RoutingService` registered.  These are checked in turn (chain of responsibility
-pattern), ordered according to xref:rgant.adoc#_rgant-DomainServiceLayout_menuOrder[`@DomainServiceLayout#menuOrder()`]
-(as explained in the xref:rgsvc.adoc#__rgsvc_intro_overriding-the-services[introduction] to this guide).
+pattern), ordered according to xref:../rgant/rgant.adoc#_rgant-DomainServiceLayout_menuOrder[`@DomainServiceLayout#menuOrder()`]
+(as explained in the xref:../rgsvc/rgsvc.adoc#__rgsvc_intro_overriding-the-services[introduction] to this guide).
 The route from the first service that returns `true` from its `canRoute(...)` method will be used.
 
 
@@ -67,7 +67,7 @@ The route from the first service that returns `true` from its `canRoute(...)` me
 == Registering the Services
 
 Assuming that the `configuration-and-annotation` services installer is configured (implicit if using the
-`AppManifest` to xref:rgcms.adoc#_rgcms_classes_AppManifest-bootstrapping[bootstrap the app]) then Apache Isis'
+`AppManifest` to xref:../rgcms/rgcms.adoc#_rgcms_classes_AppManifest-bootstrapping[bootstrap the app]) then Apache Isis'
 default implementation of `RoutingService` service is automatically registered and injected (it is annotated with
 `@DomainService`) so no further configuration is required.
 
@@ -76,4 +76,4 @@ default implementation of `RoutingService` service is automatically registered a
 == Related Services
 
 The default implementation of this service uses the
-xref:rgsvc.adoc#_rgsvc_api_HomePageProviderService[`HomePageProviderService`].
+xref:../rgsvc/rgsvc.adoc#_rgsvc_api_HomePageProviderService[`HomePageProviderService`].

http://git-wip-us.apache.org/repos/asf/isis/blob/252c2f8e/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_spi_TableColumnOrderService.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_spi_TableColumnOrderService.adoc b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_spi_TableColumnOrderService.adoc
index 2594823..88fc095 100644
--- a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_spi_TableColumnOrderService.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_spi_TableColumnOrderService.adoc
@@ -29,7 +29,7 @@ public interface TableColumnOrderService {
 <1> for the parent collection owned by the specified parent and collection Id, return the set of property ids in the same or other order.
 <2> for the standalone collection of the specified type, return the set of property ids in the same or other order, else return `null` if provides no reordering.
 
-There can be multiple implementations of `TableColumnOrderService` registered, ordered as per xref:rgant.adoc#_rgant_DomainServiceLayout_menuOrder[`@DomainServiceLayout#menuOrder()`].
+There can be multiple implementations of `TableColumnOrderService` registered, ordered as per xref:../rgant/rgant.adoc#_rgant_DomainServiceLayout_menuOrder[`@DomainServiceLayout#menuOrder()`].
 The ordering provided by the first such service that returns a non-`null` value will be used.
 If all provided implementations return `null`, then the framework will fallback to a default implementation.
 
@@ -43,7 +43,7 @@ The framework provides a fallback implementation of this service, namely `TableC
 == Registering the Services
 
 Assuming that the `configuration-and-annotation` services installer is configured (implicit if using the
-`AppManifest` to xref:rgcms.adoc#_rgcms_classes_AppManifest-bootstrapping[bootstrap the app]), then the
+`AppManifest` to xref:../rgcms/rgcms.adoc#_rgcms_classes_AppManifest-bootstrapping[bootstrap the app]), then the
  default implementation of `TableColumnOrderService` is automatically registered and injected, and no further
  configuration is required.
 

http://git-wip-us.apache.org/repos/asf/isis/blob/252c2f8e/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_spi_TranslationService.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_spi_TranslationService.adoc b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_spi_TranslationService.adoc
index b872352..451163c 100644
--- a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_spi_TranslationService.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_spi_TranslationService.adoc
@@ -61,14 +61,14 @@ For more details on the implementation, see xref:ugbtb.adoc#_ugbtb_i18n[i18n sup
 == Registering the Services
 
 Assuming that the `configuration-and-annotation` services installer is configured (implicit if using the
-`AppManifest` to xref:rgcms.adoc#_rgcms_classes_AppManifest-bootstrapping[bootstrap the app]) then Apache Isis' core
+`AppManifest` to xref:../rgcms/rgcms.adoc#_rgcms_classes_AppManifest-bootstrapping[bootstrap the app]) then Apache Isis' core
 implementation of `TranslationService` service (along with the supporting menu service) are automatically registered and injected (it is annotated with `@DomainService`) so no further configuration is required.
 
 If the menu items are not required then these can be suppressed either using security or by implementing a xref:ugbtb.adoc#_ugbtb_decoupling_vetoing-visibility[vetoing subscriber].
 
 To use an alternative implementation, use
-xref:rgant.adoc#_rgant-DomainServiceLayout_menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained
-in the xref:rgsvc.adoc#__rgsvc_intro_overriding-the-services[introduction] to this guide).
+xref:../rgant/rgant.adoc#_rgant-DomainServiceLayout_menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained
+in the xref:../rgsvc/rgsvc.adoc#__rgsvc_intro_overriding-the-services[introduction] to this guide).
 
 
 
@@ -83,5 +83,5 @@ translations can be downloaded as a single file.
 
 == Related Services
 
-This service works in conjunction with xref:rgsvc.adoc#_rgsvc_spi_LocaleProvider[`LocaleProvider`] and xref:rgsvc.adoc#_rgsvc_spi_TranslationsResolver[`TranslationsResolver`] in order to provide i18n support.
+This service works in conjunction with xref:../rgsvc/rgsvc.adoc#_rgsvc_spi_LocaleProvider[`LocaleProvider`] and xref:../rgsvc/rgsvc.adoc#_rgsvc_spi_TranslationsResolver[`TranslationsResolver`] in order to provide i18n support.
 

http://git-wip-us.apache.org/repos/asf/isis/blob/252c2f8e/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_spi_TranslationsResolver.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_spi_TranslationsResolver.adoc b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_spi_TranslationsResolver.adoc
index d050217..2c14678 100644
--- a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_spi_TranslationsResolver.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_spi_TranslationsResolver.adoc
@@ -6,7 +6,7 @@
 
 
 
-The `TranslationsResolver` service is one of the services that work together to implement Apache Isis' support for i18n, being used by Isis' default implementation of xref:rgsvc.adoc#_rgsvc_spi_TranslationService[`TranslationService`].
+The `TranslationsResolver` service is one of the services that work together to implement Apache Isis' support for i18n, being used by Isis' default implementation of xref:../rgsvc/rgsvc.adoc#_rgsvc_spi_TranslationService[`TranslationService`].
 
 The role of the service itself is locate and return translations.
 
@@ -47,12 +47,12 @@ Currently there is no equivalent implementation for the xref:ugvro.adoc#[Restful
 == Registering the Service
 
 Assuming that the `configuration-and-annotation` services installer is configured (implicit if using the
-`AppManifest` to xref:rgcms.adoc#_rgcms_classes_AppManifest-bootstrapping[bootstrap the app]), _and_ that the xref:ugvw.adoc#[Wicket viewer] is being used, then an implementation of `TranslationsResolver` is
+`AppManifest` to xref:../rgcms/rgcms.adoc#_rgcms_classes_AppManifest-bootstrapping[bootstrap the app]), _and_ that the xref:ugvw.adoc#[Wicket viewer] is being used, then an implementation of `TranslationsResolver` is
 automatically registered and injected (it is annotated with `@DomainService`) so no further configuration is required.
 
 To use an alternative implementation, use
-xref:rgant.adoc#_rgant-DomainServiceLayout_menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained
-in the xref:rgsvc.adoc#__rgsvc_intro_overriding-the-services[introduction] to this guide).
+xref:../rgant/rgant.adoc#_rgant-DomainServiceLayout_menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained
+in the xref:../rgsvc/rgsvc.adoc#__rgsvc_intro_overriding-the-services[introduction] to this guide).
 
 
 
@@ -62,6 +62,6 @@ in the xref:rgsvc.adoc#__rgsvc_intro_overriding-the-services[introduction] to th
 == Related Services
 
 
-This service works in conjunction with xref:rgsvc.adoc#_rgsvc_spi_LocaleProvider[`LocaleProvider`] and xref:rgsvc.adoc#_rgsvc_spi_TranslationService[`TranslationService`] in order to provide i18n support.
+This service works in conjunction with xref:../rgsvc/rgsvc.adoc#_rgsvc_spi_LocaleProvider[`LocaleProvider`] and xref:../rgsvc/rgsvc.adoc#_rgsvc_spi_TranslationService[`TranslationService`] in order to provide i18n support.
 
 

http://git-wip-us.apache.org/repos/asf/isis/blob/252c2f8e/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_spi_UrlEncodingService.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_spi_UrlEncodingService.adoc b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_spi_UrlEncodingService.adoc
index ccd6cea..1f5efbc 100644
--- a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_spi_UrlEncodingService.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_spi_UrlEncodingService.adoc
@@ -16,7 +16,7 @@ Defining this functionality as an SPI has two use cases:
 
 * first, (though some browsers support longer strings), there is a limit of 2083 characters for URLs.  For view model
 mementos that correspond to large strings (as might occur when serializing a JAXB
-xref:rgant.adoc#_rgant-XmlRootElement[`@XmlRootElement`]-annotated view model), the service provides a
+xref:../rgant/rgant.adoc#_rgant-XmlRootElement[`@XmlRootElement`]-annotated view model), the service provides a
 hook.  +
 +
 For example, each memento string could be mapped to a GUID held in some cluster-aware cache.
@@ -54,6 +54,6 @@ exceed 2083 characters.  For large view models, there's the possibility that thi
 cases register an alternative implementation of this service.
 
 To use an alternative implementation, use
-xref:rgant.adoc#_rgant-DomainServiceLayout_menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained
-in the xref:rgsvc.adoc#__rgsvc_intro_overriding-the-services[introduction] to this guide).
+xref:../rgant/rgant.adoc#_rgant-DomainServiceLayout_menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained
+in the xref:../rgsvc/rgsvc.adoc#__rgsvc_intro_overriding-the-services[introduction] to this guide).
 

http://git-wip-us.apache.org/repos/asf/isis/blob/252c2f8e/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 ee41645..0c7fbe1 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.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.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.
 
@@ -91,8 +91,8 @@ public class AppUserRegistrationService extends SecurityModuleAppUserRegistratio
 
 The most common use case is to allow users to sign-up through Apache Isis' Wicket viewer. Because the process requires email to be sent, the following services must be configured:
 
-* xref:rgsvc.adoc#_rgsvc_api_EmailService[`EmailService`]
-* xref:rgsvc.adoc#_rgsvc_spi_EmailNotificationService[`EmailNotificationService`]
+* xref:../rgsvc/rgsvc.adoc#_rgsvc_api_EmailService[`EmailService`]
+* xref:../rgsvc/rgsvc.adoc#_rgsvc_spi_EmailNotificationService[`EmailNotificationService`]
 * `UserRegistrationService` (this service)
 
-The `EmailService` in particular requires additional xref:rgcfg.adoc#_rgcfg_configuring-core[configuration properties] to specify the external SMTP service.
\ No newline at end of file
+The `EmailService` in particular requires additional xref:../rgcfg/rgcfg.adoc#_rgcfg_configuring-core[configuration properties] to specify the external SMTP service.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/252c2f8e/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_testing.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_testing.adoc b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_testing.adoc
index f4749bc..a035349 100644
--- a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_testing.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_testing.adoc
@@ -24,7 +24,7 @@ The table below summarizes the testing APIs defined by Apache Isis.  It also lis
 |Notes
 
 
-|xref:rgsvc.adoc#_rgsvc_api_ExecutionParametersService[`o.a.i.applib.` +
+|xref:../rgsvc/rgsvc.adoc#_rgsvc_api_ExecutionParametersService[`o.a.i.applib.` +
 `fixturescripts.` +
 `ExecutionParametersService`]
 |...
@@ -34,39 +34,39 @@ The table below summarizes the testing APIs defined by Apache Isis.  It also lis
 |API is also a concrete class
 
 
-|xref:rgsvc.adoc#_rgsvc_api_FixtureScriptsDefault[`o.a.i.applib.` +
+|xref:../rgsvc/rgsvc.adoc#_rgsvc_api_FixtureScriptsDefault[`o.a.i.applib.` +
 `services.` +
 `fixturespec` +
 `FixtureScriptsDefault`]
-|Fallback implementation of xref:rgcms.adoc#_rgcms_classes_super_FixtureScripts[`FixtureScripts`], providing the ability to execute fixture scripts.
+|Fallback implementation of xref:../rgcms/rgcms.adoc#_rgcms_classes_super_FixtureScripts[`FixtureScripts`], providing the ability to execute fixture scripts.
 |`FixtureScriptsDefault` +
 ``o.a.i.core`` +
 ``isis-core-applib``
-|Interacts with xref:rgsvc.adoc#_rgsvc_spi_FixtureScriptsSpecificationProvider[`FixtureScripts-
+|Interacts with xref:../rgsvc/rgsvc.adoc#_rgsvc_spi_FixtureScriptsSpecificationProvider[`FixtureScripts-
 SpecificationProvider`].
 
 
 
-|xref:rgsvc.adoc#_rgsvc_spi_FixtureScriptsSpecificationProvider[`o.a.i.applib.` +
+|xref:../rgsvc/rgsvc.adoc#_rgsvc_spi_FixtureScriptsSpecificationProvider[`o.a.i.applib.` +
 `services.fixturespec` +
 `FixtureScripts-` +
 `SpecificationProvider`]
-|Provides settings for xref:rgsvc.adoc#_rgsvc_api_FixtureScriptsDefault[`FixtureScriptsDefault`] fallback domain service for executing fixture scripts.
+|Provides settings for xref:../rgsvc/rgsvc.adoc#_rgsvc_api_FixtureScriptsDefault[`FixtureScriptsDefault`] fallback domain service for executing fixture scripts.
 |
 |
 
 
-|xref:rgsvc.adoc#_rgsvc_api_SudoService[`o.a.i.applib.` +
+|xref:../rgsvc/rgsvc.adoc#_rgsvc_api_SudoService[`o.a.i.applib.` +
 `services.sudo` +
 `SudoService`]
-|For use in testing while running xref:rgcms.adoc#_rgcms_classes_super_FixtureScripts[fixture scripts], allows a block of code to run as a specified user account.
+|For use in testing while running xref:../rgcms/rgcms.adoc#_rgcms_classes_super_FixtureScripts[fixture scripts], allows a block of code to run as a specified user account.
 |`SudoServiceDefault` +
 ``o.a.i.core`` +
 ``isis-core-runtime``
 |API is also a concrete class
 
 
-|xref:rgsvc.adoc#_rgsvc_api_SwitchUserService[`o.a.i.applib.` +
+|xref:../rgsvc/rgsvc.adoc#_rgsvc_api_SwitchUserService[`o.a.i.applib.` +
 `fixtures.switchuser` +
 `SwitchUserServiceService`]
 |(deprecated)

http://git-wip-us.apache.org/repos/asf/isis/blob/252c2f8e/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 8922623..0adf9f3 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
@@ -20,7 +20,7 @@ singletons, whereas mixins are instantiated as required (by the framework) and t
 
 [NOTE]
 ====
-There's further useful information on contributed services in the reference guide, discussing the xref:rgant.adoc#_rgant-DomainService_nature[@DomainService#nature()] attribute, for the `NatureOfService.VIEW_CONTRIBUTIONS_ONLY` nature.
+There's further useful information on contributed services in the reference guide, discussing the xref:../rgant/rgant.adoc#_rgant-DomainService_nature[@DomainService#nature()] attribute, for the `NatureOfService.VIEW_CONTRIBUTIONS_ONLY` nature.
 ====
 
 

http://git-wip-us.apache.org/repos/asf/isis/blob/252c2f8e/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_decoupling_event-bus.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_decoupling_event-bus.adoc b/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_decoupling_event-bus.adoc
index 5178bb9..9f866fc 100644
--- a/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_decoupling_event-bus.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_decoupling_event-bus.adoc
@@ -4,7 +4,7 @@
 :_basedir: ../../
 :_imagesdir: images/
 
-NOTE: FIXME - see xref:rgsvc.adoc#_rgsvc_api_EventBusService[`EventBusService`], xref:rgant.adoc#_rgant-Action_domainEvent[`@Action#domainEvent()`], xref:rgant.adoc#_rgant-Property_domainEvent[`@Property#domainEvent()`], xref:rgant.adoc#_rgant-Collection_domainEvent[`@Collection#domainEvent()`], xref:rgsvc.adoc#_rgsvc_api_WrapperFactory[`WrapperFactory`].
+NOTE: FIXME - see xref:../rgsvc/rgsvc.adoc#_rgsvc_api_EventBusService[`EventBusService`], xref:../rgant/rgant.adoc#_rgant-Action_domainEvent[`@Action#domainEvent()`], xref:../rgant/rgant.adoc#_rgant-Property_domainEvent[`@Property#domainEvent()`], xref:../rgant/rgant.adoc#_rgant-Collection_domainEvent[`@Collection#domainEvent()`], xref:../rgsvc/rgsvc.adoc#_rgsvc_api_WrapperFactory[`WrapperFactory`].
 
 
 

http://git-wip-us.apache.org/repos/asf/isis/blob/252c2f8e/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 f549e11..82069ba 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
@@ -20,7 +20,7 @@ Mixins (and contributions) allow dependency to be inverted, so that the dependen
 
 Both use cases are discussed below.
 
-Syntactically, a mixin is defined using either the xref:rgant.adoc#_rgant_Mixin[`@Mixin`] annotation or using xref:rgant.adoc#_rgant_DomainObject_nature[`@DomainObject#nature()`] attribute (specifying a nature of `Nature.MIXIN`).
+Syntactically, a mixin is defined using either the xref:../rgant/rgant.adoc#_rgant_Mixin[`@Mixin`] annotation or using xref:../rgant/rgant.adoc#_rgant_DomainObject_nature[`@DomainObject#nature()`] attribute (specifying a nature of `Nature.MIXIN`).
 
 
 == Contributed Collection
@@ -205,7 +205,7 @@ In other words, all of the following are allowed:
 * `public static class _Documents { ... }`
 * `public static class _documents { ... }`
 
-The reserved method name "$$" can also be changed using xref:rgant.adoc#_rgant_Mixin_method[`@Mixin#method()`] or xref:rgant.adoc#_rgant_DomainObject_mixinMethod[`@DomainObject#mixinMethod()`].
+The reserved method name "$$" can also be changed using xref:../rgant/rgant.adoc#_rgant_Mixin_method[`@Mixin#method()`] or xref:../rgant/rgant.adoc#_rgant_DomainObject_mixinMethod[`@DomainObject#mixinMethod()`].
 
 
 
@@ -221,7 +221,7 @@ dynamically.  If writing integration tests or fixtures, or (sometimes) just regu
 instantiate mixins directly.
 
 For this you can use the
-xref:rgsvc.adoc#_rgsvc_api_DomainObjectContainer_object-creation-api[`DomainObjectContainer#mixin(...)`
+xref:../rgsvc/rgsvc.adoc#_rgsvc_api_DomainObjectContainer_object-creation-api[`DomainObjectContainer#mixin(...)`
 method.  For example:
 
 [source,java]
@@ -230,7 +230,7 @@ DocumentHolder_documents mixin = container.mixin(DocumentHolder_documents.class,
 ----
 
 The xref:ugtst.adoc#__ugtst_integ-test-support_bootstrapping_IntegrationTestAbstract[`IntegrationTestAbstract`] and
-xref:rgcms.adoc#_rgcms_classes_super_FixtureScript[`FixtureScript`] classes both provide a `mixin(...)` convenience
+xref:../rgcms/rgcms.adoc#_rgcms_classes_super_FixtureScript[`FixtureScript`] classes both provide a `mixin(...)` convenience
 method.
 
 
@@ -256,7 +256,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.adoc#_rgcms_classes_mixins[mixins] (or
+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.
 (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/252c2f8e/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 ec0aedc..d75d8ac 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
@@ -134,7 +134,7 @@ public class Department {
 --
 <1> maintain a count of the number of male ...
 <2> ... and female employees (getters and setters omitted)
-<3> the xref:rgcms.adoc#_rgcms_methods_prefixes_addTo[`addTo...()`] method increments the derived properties
-<4> the xref:rgcms.adoc#_rgcms_methods_prefixes_removeFrom[`removeFrom...()`] method similarly decrements the derived properties
+<3> the xref:../rgcms/rgcms.adoc#_rgcms_methods_prefixes_addTo[`addTo...()`] method increments the derived properties
+<4> the xref:../rgcms/rgcms.adoc#_rgcms_methods_prefixes_removeFrom[`removeFrom...()`] method similarly decrements the derived properties
 
 

http://git-wip-us.apache.org/repos/asf/isis/blob/252c2f8e/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_decoupling_vetoing-visibility.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_decoupling_vetoing-visibility.adoc b/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_decoupling_vetoing-visibility.adoc
index 7681271..c012be3 100644
--- a/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_decoupling_vetoing-visibility.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_decoupling_vetoing-visibility.adoc
@@ -5,7 +5,7 @@
 :_imagesdir: images/
 
 
-NOTE: FIXME - a write-up of the "vetoing subscriber" design pattern, eg as described in the  xref:rgsvc.adoc#_rgsvc_api_BookmarkService[`BookmarkService`]
+NOTE: FIXME - a write-up of the "vetoing subscriber" design pattern, eg as described in the  xref:../rgsvc/rgsvc.adoc#_rgsvc_api_BookmarkService[`BookmarkService`]
 
 
 eg if included an addon such as auditing or security.

http://git-wip-us.apache.org/repos/asf/isis/blob/252c2f8e/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_deployment_cmd-line.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_deployment_cmd-line.adoc b/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_deployment_cmd-line.adoc
index 78c3da0..0781fa3 100644
--- a/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_deployment_cmd-line.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_deployment_cmd-line.adoc
@@ -29,7 +29,7 @@ The class also supports a number of command line arguments:
 |`-m`
 |`--manifest`
 |FQCN
-|Fully qualified class name of the xref:rgcms.adoc#_rgcms_classes_super_AppManifest[`AppManifest`] to use to bootstrap the system. +
+|Fully qualified class name of the xref:../rgcms/rgcms.adoc#_rgcms_classes_super_AppManifest[`AppManifest`] to use to bootstrap the system. +
 
 This flag sets/overrides the `isis.appManifest` configuration property to the specified class name.
 
@@ -37,7 +37,7 @@ This flag sets/overrides the `isis.appManifest` configuration property to the sp
 |`-f`
 |`--fixture`
 |FQCN
-|Fully qualified class name of the fixture (extending xref:rgcms.adoc#_rgcms_classes_super_FixtureScript[`FixtureScript`]) to be run to setup data. +
+|Fully qualified class name of the fixture (extending xref:../rgcms/rgcms.adoc#_rgcms_classes_super_FixtureScript[`FixtureScript`]) to be run to setup data. +
 
 This flag sets/overrides the `isis.fixtures` configuration property to the specified class name, and also sets the `isis.persistor.datanucleus.install-fixtures` configuration property to `true` to instruct the JDO/DataNucleus objectstore to actually load in the fixtures. +
 

http://git-wip-us.apache.org/repos/asf/isis/blob/252c2f8e/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_deployment_docker.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_deployment_docker.adoc b/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_deployment_docker.adoc
index d65f7a1..dc84356 100644
--- a/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_deployment_docker.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_deployment_docker.adoc
@@ -21,7 +21,7 @@ Docker host can be assured.
 == Using an `overrides.properties` file
 
 In addition to loading the regular configuration properties from `WEB-INF` directory (described
-xref:rgcfg.adoc#_rgcfg_configuration-files[here]), Apache Isis will also load the `overrides.properties` file.
+xref:../rgcfg/rgcfg.adoc#_rgcfg_configuration-files[here]), Apache Isis will also load the `overrides.properties` file.
 
 This file is treated slightly differently than the other configuration files; it is loaded last, and any configuration
 properties defined in it will _override_ any configuration properties already read from other files (this includes

http://git-wip-us.apache.org/repos/asf/isis/blob/252c2f8e/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 8a51a12..ddf5cf9 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
@@ -6,7 +6,7 @@
 
 
 
-As described xref:rgcfg.adoc#_rgcfg_configuration-files[here], by default Apache Isis itself bootstraps from the
+As described xref:../rgcfg/rgcfg.adoc#_rgcfg_configuration-files[here], by default Apache Isis itself bootstraps from the
 `isis.properties` configuration file.  It will also read configuration from the (optional)
 component/implementation-specific configuration files (such as
 `persistor_datanucleus.properties` or `viewer_wicket.properties`), and also (optional) component-specific configuration

http://git-wip-us.apache.org/repos/asf/isis/blob/252c2f8e/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_deployment_neo4j.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_deployment_neo4j.adoc b/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_deployment_neo4j.adoc
index d83805e..c3c450d 100644
--- a/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_deployment_neo4j.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_deployment_neo4j.adoc
@@ -6,7 +6,7 @@
 
 As of 1.8.0 Apache Isis has experimental support for Neo4J, courtesy of DataNucleus' http://www.datanucleus.org/products/datanucleus/datastores/neo4j.html[Neo4J Datastore] implementation.
 
-The xref:ugfun.adoc#_ugfun_getting-started_simpleapp-archetype[SimpleApp archetype] has been updated so that they can be optionally run under Neo4J.
+The xref:../ugfun/ugfun.adoc#_ugfun_getting-started_simpleapp-archetype[SimpleApp archetype] has been updated so that they can be optionally run under Neo4J.
 
 [TIP]
 ====
@@ -44,13 +44,13 @@ Add the following dependency to the `webapp` project's `pom.xml`:
 ----
 <1> for Isis v1.9.0, use the value shown.  for Isis v1.8.0, use 3.2.3.
 
-In the xref:ugfun.adoc#_ugfun_getting-started_simpleapp-archetype[SimpleApp archetype] this is defined under the "neo4j" profile so can be activated using `-P neo4j`.
+In the xref:../ugfun/ugfun.adoc#_ugfun_getting-started_simpleapp-archetype[SimpleApp archetype] this is defined under the "neo4j" profile so can be activated using `-P neo4j`.
 
 == Try it out!
 
 If you want to quickly try out neo4j for yourself:
 
-* run the xref:ugfun.adoc#_ugfun_getting-started_simpleapp-archetype[SimpleApp archetype] (v1.8.0)
+* run the xref:../ugfun/ugfun.adoc#_ugfun_getting-started_simpleapp-archetype[SimpleApp archetype] (v1.8.0)
 
 * build the app:
 

http://git-wip-us.apache.org/repos/asf/isis/blob/252c2f8e/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 684d8a0..9d563ac 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
@@ -14,7 +14,7 @@ See the guidance xref:ugbtb.adoc#_ugbtb_deployment_externalized-configuration[be
 
 == JVM Args
 
-The xref:rgsvc.adoc#_rgsvc_api_WrapperFactory[`WrapperFactory`] uses link:http://www.javassist.org[Javassist] to create on-the-fly classes acting as a proxy.  The cost of these proxies can be mitigated using:
+The xref:../rgsvc/rgsvc.adoc#_rgsvc_api_WrapperFactory[`WrapperFactory`] uses link:http://www.javassist.org[Javassist] to create on-the-fly classes acting as a proxy.  The cost of these proxies can be mitigated using:
 
 [source,ini]
 ----

http://git-wip-us.apache.org/repos/asf/isis/blob/252c2f8e/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 db8db4d..5918c12 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
@@ -16,7 +16,7 @@ There are several main use-cases:
 
 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.
 
-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.adoc#_rgsvc_api_WrapperFactory[`WrapperFactory`] service could be used to enforce such business rules if required.
+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/252c2f8e/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 a3a0e1c..2562892 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.adoc#_rgsvc_spi_CommandService[`CommandService`] and the xref:rgsvc.adoc#_rgsvc_spi_BackgroundCommandService[`BackgroundCommandService`].
+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`].
 
 Its signature is:
 
@@ -34,9 +34,9 @@ image::{_imagesdir}headless-access/BackgroundCommandExecution.png[width="400px"]
 
 == Background Execution
 
-The `BackgroundCommandExecutionFromBackgroundCommandServiceJdo` is a concrete subclass of `BackgroundCommandExecution` (see the xref:rgsvc.adoc#_rgsvc_api_BackgroundService[`BackgroundCommandService`]), the intended use being for the class to be instantiated regularly (eg every 10 seconds) by a scheduler such as http://quartz-scheduler.org[Quartz]) to poll for ``Command``s to be executed, and then execute them.
+The `BackgroundCommandExecutionFromBackgroundCommandServiceJdo` is a concrete subclass of `BackgroundCommandExecution` (see the xref:../rgsvc/rgsvc.adoc#_rgsvc_api_BackgroundService[`BackgroundCommandService`]), the intended use being for the class to be instantiated regularly (eg every 10 seconds) by a scheduler such as http://quartz-scheduler.org[Quartz]) to poll for ``Command``s to be executed, and then execute them.
 
-This implementation queries for ``Command``s persisted by the link:http://www.isisaddons.org/isis-module-command[Isis addons Command Module]'s  implementations of xref:rgsvc.adoc#_rgsvc_spi_CommandService[`CommandService`] and xref:rgsvc.adoc#_rgsvc_spi_BackgroundCommandService[`BackgroundCommandService`] using the `BackgroundCommandServiceJdoRepository`.
+This implementation queries for ``Command``s persisted by the link:http://www.isisaddons.org/isis-module-command[Isis addons Command Module]'s  implementations of xref:../rgsvc/rgsvc.adoc#_rgsvc_spi_CommandService[`CommandService`] and xref:../rgsvc/rgsvc.adoc#_rgsvc_spi_BackgroundCommandService[`BackgroundCommandService`] using the `BackgroundCommandServiceJdoRepository`.
 
 The diagram below (link:http://yuml.me/edit/25343da1[yuml.me/25343da1]) shows the inheritance hierarchy for this class:
 

http://git-wip-us.apache.org/repos/asf/isis/blob/252c2f8e/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 af8367d..a81a2d8 100644
--- a/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_i18n.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_i18n.adoc
@@ -7,7 +7,7 @@
 
 Apache Isis' support for internationlization (i18n) allows every element of the domain model (the class names, property names, action names, parameter names and so forth) to be translated.
 
-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.adoc#_rgcms_methods_prefixes_disable[`disable...()`] or xref:rgcms.adoc#_rgcms_methods_prefixes_validate[`validate...()`], and so on.
+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.
 
@@ -93,8 +93,8 @@ If however the service is configured to run in write mode, then it instead recor
 
 To make the service as convenient as possible to use, the service configures itself as follows:
 
-* if running in prototype mode xref:rgcfg.adoc#_rgcfg_deployment-types[deployment type] or during integration tests, then the service runs in *write* mode, in which case it records all translations into the `.pot` file.  The `.pot` file is written out when the system is shutdown.
-* if running in server (production) mode xref:rgcfg.adoc#_rgcfg_deployment-types[deployment type], then the service runs in *read* mode. It is also possible to set a configuration setting in `isis.properties` to force read mode even if running in prototype mode (useful to manually test/demo the translations).
+* if running in prototype mode xref:../rgcfg/rgcfg.adoc#_rgcfg_deployment-types[deployment type] or during integration tests, then the service runs in *write* mode, in which case it records all translations into the `.pot` file.  The `.pot` file is written out when the system is shutdown.
+* if running in server (production) mode xref:../rgcfg/rgcfg.adoc#_rgcfg_deployment-types[deployment type], then the service runs in *read* mode. It is also possible to set a configuration setting in `isis.properties` to force read mode even if running in prototype mode (useful to manually test/demo the translations).
 
 When running in write mode the original text is returned to the caller untranslated. If in read mode, then the translated `.po` files are read and translations provided as required.
 
@@ -114,7 +114,7 @@ However, for an application to be fully internationalized, any validation messag
 
 The first part of the puzzle is tackled by an extension to Apache Isis' programming model.  Whereas previously the `disableXxx()` / `validateXxx()` / `title()` methods could only return a `java.lang.String`, they may now optionally return a `TranslatableString` (defined in Isis applib) instead.
 
-Here's a (silly) example from the xref:ugfun.adoc#_ugfun_getting-started_simpleapp-archetype[SimpleApp archetype]:
+Here's a (silly) example from the xref:../ugfun/ugfun.adoc#_ugfun_getting-started_simpleapp-archetype[SimpleApp archetype]:
 
 [source,java]
 ----
@@ -179,7 +179,7 @@ msgstr "Ich heisse {firstName} {lastName}."
 then the translation would be: "Ich heisse James Bond".
 
 
-The same class is used in xref:rgsvc.adoc#_rgsvc_api_DomainObjectContainer[`DomainObjectContainer`] so that you can raise translatable info, warning and error messages; each of the relevant methods are overloaded.
+The same class is used in xref:../rgsvc/rgsvc.adoc#_rgsvc_api_DomainObjectContainer[`DomainObjectContainer`] so that you can raise translatable info, warning and error messages; each of the relevant methods are overloaded.
 
 For example:
 
@@ -199,7 +199,7 @@ public interface DomainObjectContainer {
 
 === `TranslatableException`
 
-Another mechanism by which messages can be rendered to the user are as the result of exception messages thrown and recognized by an xref:rgsvc.adoc#_rgsvc_spi_ExceptionRecognizer[`ExceptionRecognizer`].
+Another mechanism by which messages can be rendered to the user are as the result of exception messages thrown and recognized by an xref:../rgsvc/rgsvc.adoc#_rgsvc_spi_ExceptionRecognizer[`ExceptionRecognizer`].
 
 In this case, if the exception implements `TranslatableException`, then the message will automatically be translated before being rendered.  The `TranslatableException` itself takes the form:
 
@@ -520,7 +520,7 @@ To ensure your app is fully internationalized app, you must therefore:
 ====
 We make no apologies for this requirement: one of the reasons that we decided to implement Apache Isis' i18n support in this way is because it encourages/requires the app to be properly tested.
 
-Behind the scenes Apache Isis uses a JUnit rule (`ExceptionRecognizerTranslate`) to intercept any exceptions that are thrown.  These are simply passed through to the registered xref:rgsvc.adoc#_rgsvc_spi_ExceptionRecognizer[`ExceptionRecognizer`]s so that any messages are recorded as requiring translation.
+Behind the scenes Apache Isis uses a JUnit rule (`ExceptionRecognizerTranslate`) to intercept any exceptions that are thrown.  These are simply passed through to the registered xref:../rgsvc/rgsvc.adoc#_rgsvc_spi_ExceptionRecognizer[`ExceptionRecognizer`]s so that any messages are recorded as requiring translation.
 ====
 
 
@@ -541,7 +541,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:rgant.adoc#_rgant-PropertyLayout[`@PropertyLayout`] or xref:rgant.adoc#_rgant-ParameterLayout[`@ParameterLayout`].
+xref:../rgant/rgant.adoc#_rgant-PropertyLayout[`@PropertyLayout`] or xref:../rgant/rgant.adoc#_rgant-ParameterLayout[`@ParameterLayout`].
 
 For example:
 

http://git-wip-us.apache.org/repos/asf/isis/blob/252c2f8e/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_other-techniques_persisted-title.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_other-techniques_persisted-title.adoc b/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_other-techniques_persisted-title.adoc
index dc088f0..d04a082 100644
--- a/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_other-techniques_persisted-title.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_other-techniques_persisted-title.adoc
@@ -8,7 +8,7 @@
 
 Normally the title of an object is not persisted to the database, rather it is recomputed automatically from underlying properties.  On occasion though you might want the title to also be persisted; either to make things easier for the DBA, or for an integration scenario, or some other purpose.
 
-We can implement this feature by leveraging the xref:rgcms.adoc#_rgcms_methods_lifecycle_jdo-api[JDO lifecycle].  In the design we discuss here we make it a responsibility of the entities to persist the title as a property, by implementing a `ObjectWithPersistedTitle` interface:
+We can implement this feature by leveraging the xref:../rgcms/rgcms.adoc#_rgcms_methods_lifecycle_jdo-api[JDO lifecycle].  In the design we discuss here we make it a responsibility of the entities to persist the title as a property, by implementing a `ObjectWithPersistedTitle` interface:
 
 [source,java]
 ----

http://git-wip-us.apache.org/repos/asf/isis/blob/252c2f8e/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_other-techniques_replacing-default-service-implementations.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_other-techniques_replacing-default-service-implementations.adoc b/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_other-techniques_replacing-default-service-implementations.adoc
index 8d6b502..e3d29af 100644
--- a/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_other-techniques_replacing-default-service-implementations.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_other-techniques_replacing-default-service-implementations.adoc
@@ -6,11 +6,11 @@
 
 
 
-The framework provides default implementations for many of the xref:rgsvc.adoc[domain services].  This is convenient, but sometimes you will want to replace the default implementation with your own service implementation.
+The framework provides default implementations for many of the xref:../rgsvc/rgsvc.adoc[domain services].  This is convenient, but sometimes you will want to replace the default implementation with your own service implementation.
 
-The trick is to use the xref:rgant.adoc#_rgant-DomainServiceLayout_menuOrder[`@DomainServiceLayout#menuOrder()`] attribute, specifying a low number (typically `"1"`).
+The trick is to use the xref:../rgant/rgant.adoc#_rgant-DomainServiceLayout_menuOrder[`@DomainServiceLayout#menuOrder()`] attribute, specifying a low number (typically `"1"`).
 
-For example, suppose you wanted to provide your own implementation of xref:rgsvc.adoc#_rgsvc_api_LocaleProvider[`LocaleProvider`].  Here's how:
+For example, suppose you wanted to provide your own implementation of xref:../rgsvc/rgsvc.adoc#_rgsvc_api_LocaleProvider[`LocaleProvider`].  Here's how:
 
 [source,java]
 ----

http://git-wip-us.apache.org/repos/asf/isis/blob/252c2f8e/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 9516f0f..85ed7f6 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
@@ -9,12 +9,12 @@ and any repository query automatically does a flush before hand.
 
 What that means is that there's no need to explicitly start or commit transactions in Apache Isis; this will be done
 for you. Indeed, if you do try to manage transactions (eg by reaching into the JDO `PersistenceManager` exposed by the
-xref:rgsvc.adoc#_rgsvc_api_IsisJdoSupport[IsisJdoSupport] domain service, then you are likely to confuse the
+xref:../rgsvc/rgsvc.adoc#_rgsvc_api_IsisJdoSupport[IsisJdoSupport] domain service, then you are likely to confuse the
 framework and get a stack trace for your trouble.
 
 However, you can complete a given transaction and start a new one.  This is sometimes useful if writing a fixture
 script which is going to perform some sort of bulk migration of data from an old system.  For this use case, use the
-xref:rgsvc.adoc#_rgsvc_api_TransactionService[`TransactionService`].
+xref:../rgsvc/rgsvc.adoc#_rgsvc_api_TransactionService[`TransactionService`].
 
 For example:
 
@@ -40,7 +40,7 @@ You get the idea.
 
 == Raise message/errors to users
 
-The framework provides the xref:rgsvc.adoc#_rgsvc_api_MessageService[`MessageService`] as a means to return an out-of-band
+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.
 
@@ -70,7 +70,7 @@ Another way in which exceptions might be considered "expected" could be as the r
 object which then violates some type of database constraint.  Even if the domain application checks beforehand, it
 could be that another user operating on the object at the same moment of time might result in the conflict.
 
-To handle this the xref:rgsvc.adoc#_rgsvc_spi_ExceptionRecognizer[`ExceptionRecognizer`] SPI can be used.  The
+To handle this the xref:../rgsvc/rgsvc.adoc#_rgsvc_spi_ExceptionRecognizer[`ExceptionRecognizer`] SPI can be used.  The
 framework provides a number of implementations out-of-the-box; whenever an exception is thrown it is passed to each
 known recognizer implementation to see if it recognizes the exception and can return a user-meaningful error message.
 For example, `ExceptionRecognizerForSQLIntegrityConstraintViolationUniqueOrIndexException` checks if the

http://git-wip-us.apache.org/repos/asf/isis/blob/252c2f8e/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_programming-model_custom-validator.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_programming-model_custom-validator.adoc b/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_programming-model_custom-validator.adoc
index b74e7f8..3001a4a 100644
--- a/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_programming-model_custom-validator.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_programming-model_custom-validator.adoc
@@ -10,14 +10,14 @@ For example, the validator will detect any orphaned supporting methods (eg `hide
 
 [NOTE]
 ====
-The support for xref:rgant.adoc#_rgant-aaa_deprecated[disallowing deprecated annotations] is also implemented using the metamodel validator.
+The support for xref:../rgant/rgant.adoc#_rgant-aaa_deprecated[disallowing deprecated annotations] is also implemented using the metamodel validator.
 ====
 
 You can also impose your own application-specific rules by installing your own metamodel validator.  To give just one example, you could impose naming standards such as ensuring that a domain-specific abbreviation such as "ISBN" is always consistently capitalized wherever it appears in a class member.
 
 [TIP]
 ====
-Isis' xref:rgmvn.adoc[Maven plugin] will also validate the domain object model during build time.
+Isis' xref:../rgmvn/rgmvn.adoc[Maven plugin] will also validate the domain object model during build time.
 ====
 
 

http://git-wip-us.apache.org/repos/asf/isis/blob/252c2f8e/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 32f9853..00ae0b6 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
@@ -15,8 +15,8 @@ In fact, these JAXB-annotated view models are in many regards the most powerful
 
 * their entire state (collections as well as properties) is automatically managed from interaction to interaction. +
 +
-In contrast, using xref:rgant.adoc#_rgant-ViewModel[`@ViewModel`] (or its xref:rgant.adoc#_rgant-DomainObject_nature[`@DomainObject#nature()`] equivalent) will only manage the state of properties, but not collections.
-And if using the xref:rgcms.adoc#_rgcms_classes_super_ViewModel[`ViewModel`] interface, then the programmer must write all the state management (lots of boilerplate).
+In contrast, using xref:../rgant/rgant.adoc#_rgant-ViewModel[`@ViewModel`] (or its xref:../rgant/rgant.adoc#_rgant-DomainObject_nature[`@DomainObject#nature()`] equivalent) will only manage the state of properties, but not collections.
+And if using the xref:../rgcms/rgcms.adoc#_rgcms_classes_super_ViewModel[`ViewModel`] interface, then the programmer must write all the state management (lots of boilerplate).
 
 * JAXB-annotated view models are editable.
 
@@ -62,7 +62,7 @@ public class ToDoItemV1_1 implements Dto {                          // <5>
 <1> package name encodes major version; see discussion on xref: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.adoc#_rgant-DomainObjectLayout_titleUiEvent[`@DomainObjectLayout#titleUiEvent()`].
+<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]
@@ -79,10 +79,10 @@ It's quite common for view models to be "backed by" (be projections of) some und
 The `ToDoItemDto` we've been using as the example in this section is an example: there is an underlying `ToDoItem` entity.
 
 It wouldn't make sense to serialize out the state of a persistent entity: the point of a DTO is to act as a facade on top of the entity so that the implementation details (of the entity's structure) don't leak out to the consumer.
-However, the identity of the underlying entity can be well defined; Apache Isis defines the xref:rgcms.adoc#_rgcms_schema-common[Common schema] which defines the `<oid-dto>` element (and corresponding `OidDto` class): the object's type and its identifier.
-This is basically a formal XML equivalent to the `Bookmark` object obtained from the xref:rgsvc.adoc#_rgsvc_api_BookmarkService[`BookmarkService`].
+However, the identity of the underlying entity can be well defined; Apache Isis defines the xref:../rgcms/rgcms.adoc#_rgcms_schema-common[Common schema] which defines the `<oid-dto>` element (and corresponding `OidDto` class): the object's type and its identifier.
+This is basically a formal XML equivalent to the `Bookmark` object obtained from the xref:../rgsvc/rgsvc.adoc#_rgsvc_api_BookmarkService[`BookmarkService`].
 
-There is only one requirement to make this work: every referenced domain entity must be annotated with xref:rgant.adoc#_rgant-XmlJavaTypeAdapter[`@XmlJavaTypeAdapter`], specifying the framework-provided `PersistentEntityAdapter.class`.
+There is only one requirement to make this work: every referenced domain entity must be annotated with xref:../rgant/rgant.adoc#_rgant-XmlJavaTypeAdapter[`@XmlJavaTypeAdapter`], specifying the framework-provided `PersistentEntityAdapter.class`.
 This class is similar to the `BookmarkService`: it knows how to create an `OidDto` from an object reference.
 
 Thus, in our view model we can legitimately write:
@@ -132,11 +132,11 @@ public class ToDoItemV1_1 implements Dto {
 
 
 There's nothing to prevent a JAXB DTO from containing rich graphs of data, parent containing children containing children.
-Be aware though that all of this state will become the DTO's memento, ultimately converted into a URL-safe form, by way of the xref:rgsvc.adoc#_rgsvc_spi_UrlEncodingService[`UrlEncodingService`].
+Be aware though that all of this state will become the DTO's memento, ultimately converted into a URL-safe form, by way of the xref:../rgsvc/rgsvc.adoc#_rgsvc_spi_UrlEncodingService[`UrlEncodingService`].
 
 There are limits to the lengths of URLs, however.
 Therefore the DTO should not include state that can easily be derived from other information.
-If the URL does exceed limits, then provide a custom implementation of xref:rgsvc.adoc#_rgsvc_spi_UrlEncodingService[`UrlEncodingService`] to handle the memento string in some other fashion (eg substituting it with a GUID, with the memento cached somehow on the server).
+If the URL does exceed limits, then provide a custom implementation of xref:../rgsvc/rgsvc.adoc#_rgsvc_spi_UrlEncodingService[`UrlEncodingService`] to handle the memento string in some other fashion (eg substituting it with a GUID, with the memento cached somehow on the server).
 
 
 
@@ -256,7 +256,7 @@ There are therefore two options:
 * either choose not to have the view model DTO reference any persistent entities, and simply limit the DTO to simple scalars. +
 +
 Such a DTO will then be usable in both the Apache Isis app (to generate the original XML) and in the consumer.
-The xref:rgsvc.adoc#_rgsvc_api_BookmarkService[`BookmarkService`] can be used to obtain the object identifiers
+The xref:../rgsvc/rgsvc.adoc#_rgsvc_api_BookmarkService[`BookmarkService`] can be used to obtain the object identifiers
 
 * alternatively, generate a different DTO for the consumer from the XSD of the view model DTO.
 
@@ -296,7 +296,7 @@ In the todoapp this can be found in the `todoapp-xsd` Maven module, whose `pom.x
 </project>
 ----
 
-The `isis-xsd` profile generates the XSD using the xref:rgmvn.adoc#_rgmvn_xsd[`xsd` goal] of Isis' maven plugin:
+The `isis-xsd` profile generates the XSD using the xref:../rgmvn/rgmvn.adoc#_rgmvn_xsd[`xsd` goal] of Isis' maven plugin:
 
 [source,xml]
 ----

http://git-wip-us.apache.org/repos/asf/isis/blob/252c2f8e/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_view-models_programming-model.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_view-models_programming-model.adoc b/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_view-models_programming-model.adoc
index 1a845f9..d4bb007 100644
--- a/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_view-models_programming-model.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_view-models_programming-model.adoc
@@ -8,7 +8,7 @@
 
 So much for the theory; how should view models be implemented?  Fundamentally all view models' state is serialized into
 a string memento; this memento is then held by the client (browser) in the form of a URL.  As you might imagine, this
-URL can become quite long, but Apache Isis offers a mechanism (the xref:rgsvc.adoc#_rgsvc_spi_UrlEncodingService[`UrlEncodingService`]) if it exceeds the maximum length for a URL
+URL can become quite long, but Apache Isis offers a mechanism (the xref:../rgsvc/rgsvc.adoc#_rgsvc_spi_UrlEncodingService[`UrlEncodingService`]) if it exceeds the maximum length for a URL
 (2083 characters).  Also, of course, this string memento must only contain characters that it is valid for use within
 a URL.
 
@@ -30,7 +30,7 @@ defining a view model so that the original intent is not lost.  They are:
 @DomainObject(nature=Nature.EXTERNAL_ENTITY)
 public class CustomerRecordOnSAP { ... }
 ----
-|Annotated with xref:rgant.adoc#_rgant-DomainObject_nature[`@DomainObject#nature()`] and a nature of `EXTERNAL_ENTITY`, with memento derived automatically from the properties of the domain object.  Collections are ignored, as are any properties annotated as xref:rgant.adoc#_rgant-Property_notPersisted[not persisted].
+|Annotated with xref:../rgant/rgant.adoc#_rgant-DomainObject_nature[`@DomainObject#nature()`] and a nature of `EXTERNAL_ENTITY`, with memento derived automatically from the properties of the domain object.  Collections are ignored, as are any properties annotated as xref:../rgant/rgant.adoc#_rgant-Property_notPersisted[not persisted].
 
 | In-memory entity
 |[source,java]
@@ -56,7 +56,7 @@ public class Dashboard { ... }
 public class Dashboard { ... }
 ----
 
-|Annotated with xref:rgant.adoc#_rgant-ViewModel[`@ViewModel`] annotation (effectively just an alias)' memento is as preceding: from "persisted" properties, collections ignored
+|Annotated with xref:../rgant/rgant.adoc#_rgant-ViewModel[`@ViewModel`] annotation (effectively just an alias)' memento is as preceding: from "persisted" properties, collections ignored
 
 |Application view model
 |
@@ -66,7 +66,7 @@ public class ExcelUploadManager implements ViewModel {
   public String viewModelMemento() { ... }
   public void viewModelInit(String memento) { ... }
 }
-|Implement xref:rgcms.adoc#_rgcms_classes_super_ViewModel[`ViewModel`] interface.  The memento is as defined by the
+|Implement xref:../rgcms/rgcms.adoc#_rgcms_classes_super_ViewModel[`ViewModel`] interface.  The memento is as defined by the
 interface's methods: the programmer has full control (but also full responsibility) for the string memento.
 
 |DTO
@@ -76,7 +76,7 @@ interface's methods: the programmer has full control (but also full responsibili
 @XmlRootElement("customer")
 public class CustomerDto { ... }
 ----
-|Annotate using JAXB xref:rgant.adoc#_rgant-XmlRootElement[`@XmlRootElement`] annotation.  Memento
+|Annotate using JAXB xref:../rgant/rgant.adoc#_rgant-XmlRootElement[`@XmlRootElement`] annotation.  Memento
 derived automatically by serializing the XML graph as implied by the JAXB annotations.  Note that (unlike `@ViewModel`
 et al) this state _can_ include collections.
 |===

http://git-wip-us.apache.org/repos/asf/isis/blob/252c2f8e/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 6667403..66c547e 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
@@ -90,7 +90,7 @@ what the use cases are that those domain entities are trying to support.  You ce
 domain layer that could support every conceivable use case before starting to think about view models.
 
 Instead, you should iterate.  Identify the use case/story/end-user objective that you will deliver value to the
-business.  Then build out the minimum domain entities to support that use case (refining the xref:ugfun.adoc#__ugfun_core-concepts_philosophy_domain-driven-design_ubiquitous-language[ubiquitous language] as you
+business.  Then build out the minimum domain entities to support that use case (refining the xref:../ugfun/ugfun.adoc#__ugfun_core-concepts_philosophy_domain-driven-design_ubiquitous-language[ubiquitous language] as you
 go).  Then, identify if there any view models that could be introduced which would simplify the end-user interactions
 with the system (perhaps automating several related use cases together).
 ****
@@ -119,8 +119,8 @@ In case it's not obvious, these DTOs are still usable as "regular" 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.
-The view model simply needs to implement the xref:rgcms.adoc#_rgcms_classes_mixins_Dto[`Dto`] marker interface; the
-framework has xref:rgcms.adoc#_rgcms_classes_mixins_Dto[mixins] that contribute the download actions to the view model.
+The view model simply needs to implement the xref:../rgcms/rgcms.adoc#_rgcms_classes_mixins_Dto[`Dto`] marker interface; the
+framework has xref:../rgcms/rgcms.adoc#_rgcms_classes_mixins_Dto[mixins] that contribute the download actions to the view model.
 
 
 [[__ugbtb_view-models_use-cases_dtos_consumers]]
@@ -131,11 +131,11 @@ eg using the xref:ugvro.adoc#[RestfulObjects viewer], or may have the XML sent t
 such as Apache Camel.
 
 In the former case, the consumer requests the DTO by calling the REST API with the appropriate HTTP `Accept` header.
-An appropriate implementation of xref:rgsvc.adoc#_rgsvc_spi_ContentMappingService[`ContentMappingService`] can then be
+An appropriate implementation of xref:../rgsvc/rgsvc.adoc#_rgsvc_spi_ContentMappingService[`ContentMappingService`] can then be
 used to return the appropriate DTO (as XML).
 
 For the latter case, one design is simply for the application to instantiate the view model, then call the
-xref:rgsvc.adoc#_rgsvc_api_JaxbService[`JaxbService`] to obtain its corresponding XML.  This can then be published onto
+xref:../rgsvc/rgsvc.adoc#_rgsvc_api_JaxbService[`JaxbService`] to obtain its corresponding XML.  This can then be published onto
 the ESB, for example using an http://activemq.apache.org[Apache ActiveMQ (TM)] queue.
 
 However, rather than try to push all the data that might be needed by any of these external systems in a single XML event
@@ -149,8 +149,8 @@ This is an example of the link:https://leanpub.com/camel-design-patterns[VETRO p
 invoked), and the enrich (callback to obtain a DTO with additional information required by the consumer).
 ====
 
-The (non-ASF) http://github.com/isisaddons/isis-module-publishmq[Isis addons' publishmq] module provides an out-of-the-box solution of this design.  It provides an implementation of the xref:rgsvc.adoc#_rgsvc_spi_PublishingService[`PublishingService`],
-but which simply publishes instances of xref:rgcms.adoc#_rgcms_schema-aim[`ActionInvocationMemento`] to an ActiveMQ
+The (non-ASF) http://github.com/isisaddons/isis-module-publishmq[Isis addons' publishmq] module provides an out-of-the-box solution of this design.  It provides an implementation of the xref:../rgsvc/rgsvc.adoc#_rgsvc_spi_PublishingService[`PublishingService`],
+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