http://git-wip-us.apache.org/repos/asf/isis/blob/252c2f8e/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_CommandContext.adoc
----------------------------------------------------------------------
diff --git 
a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_CommandContext.adoc
 
b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_CommandContext.adoc
index 7334b62..e48d0b0 100644
--- 
a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_CommandContext.adoc
+++ 
b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_CommandContext.adoc
@@ -6,24 +6,24 @@
 
 
 
-The `CommandContext` service is a 
xref:rgant.adoc#_rgant-RequestScoped[request-scoped] service that reifies the 
invocation of an action on a domain object into an object itself. This reified 
information is encapsulated within the `Command` object.
+The `CommandContext` service is a 
xref:../rgant/rgant.adoc#_rgant-RequestScoped[request-scoped] service that 
reifies the invocation of an action on a domain object into an object itself. 
This reified information is encapsulated within the `Command` object.
 
 By default, the `Command` is held in-memory only; once the action invocation 
has completed, the `Command` object is gone. The optional
- supporting xref:rgsvc.adoc#_rgsvc_spi_CommandService[`CommandService`] 
enables the implementation of `Command` to be pluggable. With an appropriate 
implementation (eg as provided by the (non-ASF) 
http://github.com/isisaddons/isis-module-command[Isis addons' command] module's 
xref:rgsvc.adoc#_rgsvc_spi_CommandService[`CommandService`]) the `Command` may 
then be persisted.
+ supporting 
xref:../rgsvc/rgsvc.adoc#_rgsvc_spi_CommandService[`CommandService`] enables 
the implementation of `Command` to be pluggable. With an appropriate 
implementation (eg as provided by the (non-ASF) 
http://github.com/isisaddons/isis-module-command[Isis addons' command] module's 
xref:../rgsvc/rgsvc.adoc#_rgsvc_spi_CommandService[`CommandService`]) the 
`Command` may then be persisted.
 
 As of `1.13.0`, the primary use case for persistent ``Command``s is in support 
of background commands; they
 act as a parent to any background commands that can be persisted either 
explicitly using the
-xref:rgsvc.adoc#_rgsvc_api_BackgroundService[`BackgroundService`], or 
implicitly by way of the
-xref:rgant.adoc#_rgant-Action_command[`@Action#command()`] annotation.
+xref:../rgsvc/rgsvc.adoc#_rgsvc_api_BackgroundService[`BackgroundService`], or 
implicitly by way of the
+xref:../rgant/rgant.adoc#_rgant-Action_command[`@Action#command()`] annotation.
 
 In previous versions of the framework, persistent ``Command``s also supported 
a number of other use cases:
 
 * they enable profiling of the running application (which actions are invoked 
then most often, what is their response time)
-* if a xref:rgsvc.adoc#_rgsvc_spi_PublisherService[`PublisherService`] or 
xref:rgsvc.adoc#_rgsvc_spi_PublishingService[`PublishingService`] (the latter 
now deprecated) is configured, they provide better traceability as the 
`Command` is also correlated with any published events, again through the 
unique `transactionId` GUID
-* if a xref:rgsvc.adoc#_rgsvc_spi_AuderService[`AuditerService`] or 
xref:rgsvc.adoc#_rgsvc_spi_AuditService[`AuditingService`] (the latter now 
deprecated) is configured, they provide better audit information, since the 
`Command` (the 'cause' of an action) can be correlated to the audit records 
(the "effect" of the action) through the `transactionId` GUID
+* if a 
xref:../rgsvc/rgsvc.adoc#_rgsvc_spi_PublisherService[`PublisherService`] or 
xref:../rgsvc/rgsvc.adoc#_rgsvc_spi_PublishingService[`PublishingService`] (the 
latter now deprecated) is configured, they provide better traceability as the 
`Command` is also correlated with any published events, again through the 
unique `transactionId` GUID
+* if a xref:../rgsvc/rgsvc.adoc#_rgsvc_spi_AuderService[`AuditerService`] or 
xref:../rgsvc/rgsvc.adoc#_rgsvc_spi_AuditService[`AuditingService`] (the latter 
now deprecated) is configured, they provide better audit information, since the 
`Command` (the 'cause' of an action) can be correlated to the audit records 
(the "effect" of the action) through the `transactionId` GUID
 
 As of `1.13.0`, these other uses cases are now more fully supported through the
-xref:rgsvc.adoc#_rgsvc_api_InteractionContext[`InteractionContext`] service 
and persistent implementations of the ``Interaction`` object, eg as provided by 
the (non-ASF)
+xref:../rgsvc/rgsvc.adoc#_rgsvc_api_InteractionContext[`InteractionContext`] 
service and persistent implementations of the ``Interaction`` object, eg as 
provided by the (non-ASF)
 http://github.com/isisaddons/isis-module-publishmq[Isis addons' publishmq] 
module.
 
 
@@ -109,13 +109,13 @@ public interface Command extends HasTransactionId {
 <16> `getResult()` - bookmark to object returned by action, if any
 <17> `getException()` - exception stack trace if action threw exception
 <18> No longer used by the framework; see instead
-xref:rgsvc.adoc#_rgsvc_api_InteractionContext[`InteractionContext`] and 
`Interaction#next()`.
+xref:../rgsvc/rgsvc.adoc#_rgsvc_api_InteractionContext[`InteractionContext`] 
and `Interaction#next()`.
 
 
 
 == Usage
 
-The typical way to indicate that an action should be treated as a command is 
to annotate it with the 
xref:rgant.adoc#_rgant-Action_command[`@Action#command()`] annotation.
+The typical way to indicate that an action should be treated as a command is 
to annotate it with the 
xref:../rgant/rgant.adoc#_rgant-Action_command[`@Action#command()`] annotation.
 
 For example:
 
@@ -132,11 +132,11 @@ public class ToDoItem ... {
 ====
 As an alternative to annotating every action with `@Action#command()`, 
alternatively this can be configured as the default using 
`isis.services.command.actions` configuration property.
 
-See xref:rgant.adoc#_rgant-Action_command[`@Action#command()`] and 
xref:rgcfg.adoc#_rgcfg_configuring-core[runtime configuration] for further 
details.
+See xref:../rgant/rgant.adoc#_rgant-Action_command[`@Action#command()`] and 
xref:../rgcfg/rgcfg.adoc#_rgcfg_configuring-core[runtime configuration] for 
further details.
 ====
 
 
-The xref:rgant.adoc#_rgant-Action_command[`@Action#command()`] annotation can 
also be used to specify whether the command should be performed in the 
background, for example:
+The xref:../rgant/rgant.adoc#_rgant-Action_command[`@Action#command()`] 
annotation can also be used to specify whether the command should be performed 
in the background, for example:
 
 [source,java]
 ----
@@ -151,7 +151,7 @@ public class ToDoItem ... {
 
 When a background command is invoked, the user is returned the command object 
itself (to provide a handle to the command being invoked).
 
-This requires that an implementation of 
xref:rgsvc.adoc#_rgsvc_spi_CommandService[`CommandService`] that persists the 
commands (such as the (non-ASF) 
http://github.com/isisaddons/isis-module-command[Isis addons' command] module's 
`CommandService`) is configured. It also requires that a scheduler is 
configured to execute the background commands, see 
xref:rgsvc.adoc#_rgsvc_spi_BackgroundCommandService[`BackgroundCommandService`]).
+This requires that an implementation of 
xref:../rgsvc/rgsvc.adoc#_rgsvc_spi_CommandService[`CommandService`] that 
persists the commands (such as the (non-ASF) 
http://github.com/isisaddons/isis-module-command[Isis addons' command] module's 
`CommandService`) is configured. It also requires that a scheduler is 
configured to execute the background commands, see 
xref:../rgsvc/rgsvc.adoc#_rgsvc_spi_BackgroundCommandService[`BackgroundCommandService`]).
 
 
 
@@ -186,7 +186,7 @@ public class ToDoItem ... {
 
 If run in the background, it might then notify the user (eg by email) if all 
work is done.
 
-This leads us onto a related point, distinguishing the current effective user 
vs the originating "real" user. When running in the foreground, the current 
user can be obtained from the 
xref:rgsvc.adoc#_rgsvc_api_UserService[`UserService`], using:
+This leads us onto a related point, distinguishing the current effective user 
vs the originating "real" user. When running in the foreground, the current 
user can be obtained from the 
xref:../rgsvc/rgsvc.adoc#_rgsvc_api_UserService[`UserService`], using:
 
 [source,java]
 ----
@@ -209,13 +209,13 @@ String user = commandContext.getCommand().getUser();
 == 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 `CommandContext` service 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).
 
 
 
@@ -223,21 +223,21 @@ in the 
xref:rgsvc.adoc#__rgsvc_intro_overriding-the-services[introduction] to th
 
 == Related Services
 
-The xref:rgsvc.adoc#_rgsvc_api_CommandContext[`CommandContext`] service is 
very similar in nature to the 
xref:rgsvc.adoc#_rgsvc_api_InteactionContext[`InteactionContext`], in that the
+The xref:../rgsvc/rgsvc.adoc#_rgsvc_api_CommandContext[`CommandContext`] 
service is very similar in nature to the 
xref:../rgsvc/rgsvc.adoc#_rgsvc_api_InteactionContext[`InteactionContext`], in 
that the
 `Command` object accessed through it is very similar to the `Interaction` 
object obtained from the `InteractionContext`.
 The principle distinction is that while `Command` represents the __intention__ 
to invoke an action or edit a property,
 the `Interaction` (and contained ``Execution``s) represents the actual 
execution.
 
 Most of the time a `Command` will be followed directly by its corresponding 
`Interaction`.  However, if the `Command`
-is annotated to run in the background (using 
xref:rgant.adoc#_rgant-Action_command[`@Action#commandExecuteIn()`], or
-is explicitly created through the 
xref:rgsvc.adoc#_rgsvc_api_BackgroundService[`BackgroundService`], then the 
actual
+is annotated to run in the background (using 
xref:../rgant/rgant.adoc#_rgant-Action_command[`@Action#commandExecuteIn()`], or
+is explicitly created through the 
xref:../rgsvc/rgsvc.adoc#_rgsvc_api_BackgroundService[`BackgroundService`], 
then the actual
 interaction/execution is deferred until some other mechanism invokes the 
command (eg as described
 xref:ugbtb.adoc#_ugbtb_headless-access_BackgroundCommandExecution[here]).  The 
persistence of background commands
-requires a configured 
xref:rgsvc.adoc#_rgsvc_spi_BackgroundCommandService[`BackgroundCommandService`])
 to actually
+requires a configured 
xref:../rgsvc/rgsvc.adoc#_rgsvc_spi_BackgroundCommandService[`BackgroundCommandService`])
 to actually
 persist such commands for execution.
 
 ``Command``s - even if executed in the foreground - can also be persisted by 
way of the
-xref:rgsvc.adoc#_rgsvc_spi_CommandService[`CommandService`].  Implementations 
of `CommandService` and
+xref:../rgsvc/rgsvc.adoc#_rgsvc_spi_CommandService[`CommandService`].  
Implementations of `CommandService` and
 `BackgroundCommandService` are intended to go together, so that child 
``Command``s persistent (to be executed in the
 background) can be associated with their parent ``Command``s (executed in the 
foreground, with the background `Command`
-created explicitly through the 
xref:rgsvc.adoc#_rgsvc_api_BackgroundService[`BackgroundService`]).
+created explicitly through the 
xref:../rgsvc/rgsvc.adoc#_rgsvc_api_BackgroundService[`BackgroundService`]).

http://git-wip-us.apache.org/repos/asf/isis/blob/252c2f8e/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_ConfigurationService.adoc
----------------------------------------------------------------------
diff --git 
a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_ConfigurationService.adoc
 
b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_ConfigurationService.adoc
index 3beba97..e41de92 100644
--- 
a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_ConfigurationService.adoc
+++ 
b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_ConfigurationService.adoc
@@ -5,7 +5,7 @@
 :_imagesdir: images/
 
 
-The `ConfigurationService` allows domain objects to read the configuration 
properties aggregated from the various 
xref:rgcfg.adoc#_rgcfg_configuration-files[configuration files].
+The `ConfigurationService` allows domain objects to read the configuration 
properties aggregated from the various 
xref:../rgcfg/rgcfg.adoc#_rgcfg_configuration-files[configuration files].
 
 
 [IMPORTANT]
@@ -15,7 +15,7 @@ Only configuration properties with the prefix "application" 
are be exposed.
 
 [NOTE]
 ====
-The methods in this service replace similar methods (now deprecated) in 
xref:rgsvc.adoc#_rgsvc_api_DomainObjectContainer[`DomainObjectContainer`].
+The methods in this service replace similar methods (now deprecated) in 
xref:../rgsvc/rgsvc.adoc#_rgsvc_api_DomainObjectContainer[`DomainObjectContainer`].
 ====
 
 
@@ -61,7 +61,7 @@ public class TweetService {
 
 [TIP]
 ====
-If you _do_ have a domain service that needs to access Isis properties, then 
an alternative is to define a 
xref:rgant.adoc#_rgant-PostConstruct[`@PostConstruct`] method and pass in a 
`Map<String,String>` of properties.
+If you _do_ have a domain service that needs to access Isis properties, then 
an alternative is to define a 
xref:../rgant/rgant.adoc#_rgant-PostConstruct[`@PostConstruct`] method and pass 
in a `Map<String,String>` of properties.
 This is provided all properties, not just those with the 'application' prefix.
 ====
 
@@ -79,13 +79,13 @@ The core framework provides a default implementation of 
this service (`o.a.i.cor
 == 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]) 
then Apache Isis' core
+`AppManifest` to 
xref:../rgcms/rgcms.adoc#_rgcms_classes_AppManifest-bootstrapping[bootstrap the 
app]) then Apache Isis' core
 implementation of `ConfigurationService` service 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).
 
 
 

http://git-wip-us.apache.org/repos/asf/isis/blob/252c2f8e/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_DeepLinkService.adoc
----------------------------------------------------------------------
diff --git 
a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_DeepLinkService.adoc
 
b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_DeepLinkService.adoc
index ab84547..25341d0 100644
--- 
a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_DeepLinkService.adoc
+++ 
b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_DeepLinkService.adoc
@@ -25,13 +25,13 @@ public interface DeepLinkService {
 ----
 <1> Creates a URI that can be used to obtain a representation of the provided 
domain object in one of the Apache Isis viewers.
 
-The xref:ugvw.adoc#[Wicket viewer] this provides an implementation for 
accessing the representation through this viewer.  (For the 
xref:ugvro.adoc#[RestfulObjects viewer], a URL can be constructed according to 
the link:http://www.restfulobjects.org[Restful Objects spec] in conjunction 
with a `Bookmark` obtained via the 
xref:rgsvc.adoc#_rgsvc_api_BookmarkService[`BookmarkService`]).
+The xref:ugvw.adoc#[Wicket viewer] this provides an implementation for 
accessing the representation through this viewer.  (For the 
xref:ugvro.adoc#[RestfulObjects viewer], a URL can be constructed according to 
the link:http://www.restfulobjects.org[Restful Objects spec] in conjunction 
with a `Bookmark` obtained via the 
xref:../rgsvc/rgsvc.adoc#_rgsvc_api_BookmarkService[`BookmarkService`]).
 
 
 
 == Usage within the framework
 
-The 
xref:rgsvc.adoc#_rgsvc_spi_EmailNotificationService[`EmailNotificationService`] 
uses this service in order to generate emails as part of 
xref:ugvw.adoc#_ugvw_features_user-registration[user registration].
+The 
xref:../rgsvc/rgsvc.adoc#_rgsvc_spi_EmailNotificationService[`EmailNotificationService`]
 uses this service in order to generate emails as part of 
xref:ugvw.adoc#_ugvw_features_user-registration[user registration].
 
 
 
@@ -47,10 +47,10 @@ The Wicket viewer core framework provides a default 
implementation of this API:
 == 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]), 
_and_ that the
+`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 
`DeepLinkService` 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).

http://git-wip-us.apache.org/repos/asf/isis/blob/252c2f8e/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_DomainObjectContainer.adoc
----------------------------------------------------------------------
diff --git 
a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_DomainObjectContainer.adoc
 
b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_DomainObjectContainer.adoc
index 177c7e7..0657cbf 100644
--- 
a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_DomainObjectContainer.adoc
+++ 
b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_DomainObjectContainer.adoc
@@ -10,7 +10,7 @@ The `DomainObjectContainer` service provides a set of general 
purpose functional
 
 [NOTE]
 ====
-(Almost all of) the methods in this service have been moved out into a number 
of more fine-grained services: 
xref:rgsvc.adoc#_rgsvc_api_RepositoryService[`RepositoryService`], 
xref:rgsvc.adoc#_rgsvc_api_MessageService[`MessageService`], 
xref:rgsvc.adoc#_rgsvc_api_FactoryService[`FactoryService`], 
xref:rgsvc.adoc#_rgsvc_api_TitleService[`TitleService`], 
xref:rgsvc.adoc#_rgsvc_api_ConfigurationService[`ConfigurationService`], 
xref:rgsvc.adoc#_rgsvc_api_UserService[`UserService`] and 
xref:rgsvc.adoc#_rgsvc_api_ServiceRegistry[`ServiceRegistry`].
+(Almost all of) the methods in this service have been moved out into a number 
of more fine-grained services: 
xref:../rgsvc/rgsvc.adoc#_rgsvc_api_RepositoryService[`RepositoryService`], 
xref:../rgsvc/rgsvc.adoc#_rgsvc_api_MessageService[`MessageService`], 
xref:../rgsvc/rgsvc.adoc#_rgsvc_api_FactoryService[`FactoryService`], 
xref:../rgsvc/rgsvc.adoc#_rgsvc_api_TitleService[`TitleService`], 
xref:../rgsvc/rgsvc.adoc#_rgsvc_api_ConfigurationService[`ConfigurationService`],
 xref:../rgsvc/rgsvc.adoc#_rgsvc_api_UserService[`UserService`] and 
xref:../rgsvc/rgsvc.adoc#_rgsvc_api_ServiceRegistry[`ServiceRegistry`].
 ====
 
 
@@ -43,7 +43,7 @@ The core framework provides a default implementation of this 
service (`o.a.i.cor
 == 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]) 
then Apache Isis' core
+`AppManifest` to 
xref:../rgcms/rgcms.adoc#_rgcms_classes_AppManifest-bootstrapping[bootstrap the 
app]) then Apache Isis' core
 implementation of `DomainObjectContainer` service is automatically registered 
and injected (it is annotated with
 `@DomainService`) so no further configuration is required.
 

http://git-wip-us.apache.org/repos/asf/isis/blob/252c2f8e/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_DomainObjectContainer_generic-repository-api.adoc
----------------------------------------------------------------------
diff --git 
a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_DomainObjectContainer_generic-repository-api.adoc
 
b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_DomainObjectContainer_generic-repository-api.adoc
index cf35c3a..c419770 100644
--- 
a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_DomainObjectContainer_generic-repository-api.adoc
+++ 
b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_DomainObjectContainer_generic-repository-api.adoc
@@ -8,7 +8,7 @@
 
 The repository API acts as an abstraction over the JDO/DataNucleus 
objectstore.  You can use it during prototyping to write naive queries (find 
all rows, then filter using the Guava `Predicate` API, or you can use it to 
call JDO 
link:http://www.datanucleus.org/products/accessplatform_4_0/jdo/query.html#named[named
 queries] using JDOQL.
 
-As an alternative, you could also use 
link:http://www.datanucleus.org/products/accessplatform_4_0/jdo/jdoql_typesafe.html[JDO
 typesafe queries] through the 
xref:rgsvc.adoc#_rgsvc_api_IsisJdoSupport[`IsisJdoSupport`] service.
+As an alternative, you could also use 
link:http://www.datanucleus.org/products/accessplatform_4_0/jdo/jdoql_typesafe.html[JDO
 typesafe queries] through the 
xref:../rgsvc/rgsvc.adoc#_rgsvc_api_IsisJdoSupport[`IsisJdoSupport`] service.
 
 
 [source,java]
@@ -80,5 +80,5 @@ With respect to the other query APIs, the varargs parameters 
are optional, but a
 
 [TIP]
 ====
-It is also possible to query using DataNucleus' type-safe query API.  For more 
details, see xref:rgsvc.adoc#_rgsvc_api_IsisJdoSupport[`IsisJdoSupport`].
+It is also possible to query using DataNucleus' type-safe query API.  For more 
details, see 
xref:../rgsvc/rgsvc.adoc#_rgsvc_api_IsisJdoSupport[`IsisJdoSupport`].
 ====

http://git-wip-us.apache.org/repos/asf/isis/blob/252c2f8e/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_DomainObjectContainer_object-creation-api.adoc
----------------------------------------------------------------------
diff --git 
a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_DomainObjectContainer_object-creation-api.adoc
 
b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_DomainObjectContainer_object-creation-api.adoc
index 24f6127..7aebfee 100644
--- 
a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_DomainObjectContainer_object-creation-api.adoc
+++ 
b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_DomainObjectContainer_object-creation-api.adoc
@@ -19,9 +19,9 @@ public interface DomainObjectContainer {
 }
 ----
 <1> create a new non-persisted domain entity.  Any services will be 
automatically injected into the service.
-<2> create a new view model, with the specified memento (as per 
xref:rgcms.adoc#_rgcms_classes_super_AbstractViewModel[ViewModel#viewModelMemento()].
  In general it is easier to just annotate with 
xref:rgant.adoc#_rgant-ViewModel[`@ViewModel`] and let Apache Isis manage the 
memento automatically.
+<2> create a new view model, with the specified memento (as per 
xref:../rgcms/rgcms.adoc#_rgcms_classes_super_AbstractViewModel[ViewModel#viewModelMemento()].
  In general it is easier to just annotate with 
xref:../rgant/rgant.adoc#_rgant-ViewModel[`@ViewModel`] and let Apache Isis 
manage the memento automatically.
 <3> programmatically instantiate a mixin, as annotated with
-xref:rgant.adoc#_rgant-Mixin[`@Mixin`] or 
xref:rgant.adoc#_rgant-DomainObject_nature[`@DomainObject#nature()`].
+xref:../rgant/rgant.adoc#_rgant-Mixin[`@Mixin`] or 
xref:../rgant/rgant.adoc#_rgant-DomainObject_nature[`@DomainObject#nature()`].
 
 For example:
 
@@ -38,9 +38,9 @@ Doing this will not inject any domain services, but they can 
be injected manuall
 
 [NOTE]
 ====
-Calling `new(...)` also this circumvents Apache Isis' 
xref:rgcms.adoc#_rgcms_methods_reserved_created[`created()`]
+Calling `new(...)` also this circumvents Apache Isis' 
xref:../rgcms/rgcms.adoc#_rgcms_methods_reserved_created[`created()`]
 callback, and in addition any default values for properties (either explicitly 
set by
-xref:rgcms.adoc#_rgcms_methods_prefixes_default[`default...()`] or defaulted 
implicitly according to Apache Isis'
+xref:../rgcms/rgcms.adoc#_rgcms_methods_prefixes_default[`default...()`] or 
defaulted implicitly according to Apache Isis'
 own conventions) will not be called either.  If you don't intend to use these 
features, though, the net effect is code
 that has less coupling to Isis and is arguably easier to understand (has "less 
magic" happening).
 ====

http://git-wip-us.apache.org/repos/asf/isis/blob/252c2f8e/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_DomainObjectContainer_object-persistence-api.adoc
----------------------------------------------------------------------
diff --git 
a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_DomainObjectContainer_object-persistence-api.adoc
 
b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_DomainObjectContainer_object-persistence-api.adoc
index edb4b5e..120a81a 100644
--- 
a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_DomainObjectContainer_object-persistence-api.adoc
+++ 
b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_DomainObjectContainer_object-persistence-api.adoc
@@ -7,7 +7,7 @@
 
 
 
-The persistence API is used to persist newly created objects (as per 
xref:rgsvc.adoc#_rgsvc_api_DomainObjectContainer_object-creation-api[`#newTransientInstance(...)`],
 above and to delete (remove) objects that are persistent.
+The persistence API is used to persist newly created objects (as per 
xref:../rgsvc/rgsvc.adoc#_rgsvc_api_DomainObjectContainer_object-creation-api[`#newTransientInstance(...)`],
 above and to delete (remove) objects that are persistent.
 
 Note that there is no API for updating existing objects; the framework (or 
rather, JDO/DataNucleus) performs object dirty tracking and so any objects that 
are modified in the course of a request will be automatically updated).
 
@@ -31,7 +31,7 @@ public interface DomainObjectContainer {
 }
 ----
 <1> test whether a particular domain object is persistent or not.
-<2> test whether a particular domain object is a view model or not.  Note that 
this includes any domain objects annotated with 
xref:rgant.adoc#_rgant-DomainObject_nature[`@DomainObject#nature=Nature.EXTERNAL_ENTITY)`]
 or 
xref:rgant.adoc#_rgant-DomainObject_nature[`@DomainObject#nature=Nature.INMEMORY_ENTITY`]
+<2> test whether a particular domain object is a view model or not.  Note that 
this includes any domain objects annotated with 
xref:../rgant/rgant.adoc#_rgant-DomainObject_nature[`@DomainObject#nature=Nature.EXTERNAL_ENTITY)`]
 or 
xref:../rgant/rgant.adoc#_rgant-DomainObject_nature[`@DomainObject#nature=Nature.INMEMORY_ENTITY`]
 <3> persist a transient object.  Note though that this will throw an exception 
if the object is already persistent; this can happen if JDO/DataNucleus's 
link:http://www.datanucleus.org/products/accessplatform_4_0/jdo/orm/cascading.html[persistence-by-reachability]
 is in effect.  For this reason it is generally better to use 
`persistIfNotAlready(...)`. Also note that `persist(...)` has been deprecate.  
When moving to 
xref:rgsvc_api_RepositoryService.adoc#_rgsvc_api_RepositoryService[`RepositoryService#persist()`]
 take into account that its behavior is identical to <4>, being a no-op if the 
object is persistent, instead of throwing an exception.
 <4> persist an object but only if know to not have been persistent.  But if 
the object is persistent, is a no-op
 <5> remove (ie DELETE) a persistent object.  For similar reasons to the 
persistence, it is generally better to use:
@@ -50,7 +50,7 @@ container.persistIfNotAlready(cust);
 
 You should be aware that by default Apache Isis queues up calls to 
`#persist()` and `#remove()`.  These are then executed either when the request 
completes (and the transaction commits), or if the queue is flushed.  This can 
be done either implicitly by the framework, or as the result of a direct call 
to `#flush()`.
 
-By default the framework itself will cause `#flush()` to be called whenever a 
query is executed by way of `#allMatches(Query)`, as documented 
xref:rgsvc.adoc#_rgsvc_api_DomainObjectContainer_generic-repository-api[above]. 
 However, this behaviour can be disabled using the  
xref:rgcfg.adoc#_rgcfg_configuring-core[configuration property] 
`isis.services.container.disableAutoFlush`.
+By default the framework itself will cause `#flush()` to be called whenever a 
query is executed by way of `#allMatches(Query)`, as documented 
xref:../rgsvc/rgsvc.adoc#_rgsvc_api_DomainObjectContainer_generic-repository-api[above].
  However, this behaviour can be disabled using the  
xref:../rgcfg/rgcfg.adoc#_rgcfg_configuring-core[configuration property] 
`isis.services.container.disableAutoFlush`.
 
 
 

http://git-wip-us.apache.org/repos/asf/isis/blob/252c2f8e/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_DomainObjectContainer_presentation-api.adoc
----------------------------------------------------------------------
diff --git 
a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_DomainObjectContainer_presentation-api.adoc
 
b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_DomainObjectContainer_presentation-api.adoc
index 8feba94..a443bdc 100644
--- 
a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_DomainObjectContainer_presentation-api.adoc
+++ 
b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_DomainObjectContainer_presentation-api.adoc
@@ -7,11 +7,11 @@
 
 
 
-A responsibility of every domain object is to return a title.  This can be 
done declaratively using the xref:rgant.adoc#_rgant-Title[`@Title`] annotation 
on property/ies, or it can be done imperatively by writing a 
xref:rgcms.adoc#_rgcms_methods_reserved_title[`title()`] method.
+A responsibility of every domain object is to return a title.  This can be 
done declaratively using the xref:../rgant/rgant.adoc#_rgant-Title[`@Title`] 
annotation on property/ies, or it can be done imperatively by writing a 
xref:../rgcms/rgcms.adoc#_rgcms_methods_reserved_title[`title()`] method.
 
 It's quite common for titles to be built up of the titles of other objects.  
If using building up the title using `@Title` then Apache Isis will 
automatically use the title of the objects referenced by the annotated 
properties.  We also need programmatic access to these titles if going the 
imperative route.
 
-Similarly, it often makes sense if 
xref:rgsvc.adoc#_rgsvc_api_DomainObjectContainer_messages-api[raising messages] 
to use the title of an object in a message rather (than a some other property 
of the object), because this is how end-users will be used to identifying the 
object.
+Similarly, it often makes sense if 
xref:../rgsvc/rgsvc.adoc#_rgsvc_api_DomainObjectContainer_messages-api[raising 
messages] to use the title of an object in a message rather (than a some other 
property of the object), because this is how end-users will be used to 
identifying the object.
 
 The API defined by `DomainObjectContainer` is simply:
 

http://git-wip-us.apache.org/repos/asf/isis/blob/252c2f8e/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_DomainObjectContainer_properties-api.adoc
----------------------------------------------------------------------
diff --git 
a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_DomainObjectContainer_properties-api.adoc
 
b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_DomainObjectContainer_properties-api.adoc
index 52ec654..a0d1e2a 100644
--- 
a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_DomainObjectContainer_properties-api.adoc
+++ 
b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_DomainObjectContainer_properties-api.adoc
@@ -8,7 +8,7 @@
 
 = Properties API
 
-The properties API allows domain objects to read the configuration properties 
aggregated from the various 
xref:rgcfg.adoc#_rgcfg_configuration-files[configuration files].
+The properties API allows domain objects to read the configuration properties 
aggregated from the various 
xref:../rgcfg/rgcfg.adoc#_rgcfg_configuration-files[configuration files].
 
 [source,java]
 ----
@@ -44,7 +44,7 @@ public class TweetService {
 
 [TIP]
 ====
-If you _do_ have a domain service that needs to access properties, then note 
that an alternative is to define a 
xref:rgant.adoc#_rgant-PostConstruct[`@PostConstruct`] method and pass in a 
`Map<String,String>` of properties.  The two techniques are almost identical; 
it's mostly a matter of taste.
+If you _do_ have a domain service that needs to access properties, then note 
that an alternative is to define a 
xref:../rgant/rgant.adoc#_rgant-PostConstruct[`@PostConstruct`] method and pass 
in a `Map<String,String>` of properties.  The two techniques are almost 
identical; it's mostly a matter of taste.
 ====
 
 

http://git-wip-us.apache.org/repos/asf/isis/blob/252c2f8e/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_DomainObjectContainer_services-api.adoc
----------------------------------------------------------------------
diff --git 
a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_DomainObjectContainer_services-api.adoc
 
b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_DomainObjectContainer_services-api.adoc
index da65ece..29c2064 100644
--- 
a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_DomainObjectContainer_services-api.adoc
+++ 
b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_DomainObjectContainer_services-api.adoc
@@ -18,11 +18,11 @@ public interface DomainObjectContainer {
     ...
 }
 ----
-<1> injects services into domain object; used extensively internally by the 
framework (eg to inject to other services, or to entities, or integration test 
instances, or fixture scripts).  Service injection is done automatically if 
objects are created using `#newTransientInstance()`, described 
xref:rgsvc.adoc#_rgsvc_api_DomainObjectContainer_object-creation-api[above]
+<1> injects services into domain object; used extensively internally by the 
framework (eg to inject to other services, or to entities, or integration test 
instances, or fixture scripts).  Service injection is done automatically if 
objects are created using `#newTransientInstance()`, described 
xref:../rgsvc/rgsvc.adoc#_rgsvc_api_DomainObjectContainer_object-creation-api[above]
 <2> returns the first registered service that implements the specified class
 <3> returns an `Iterable` in order to iterate over all registered services 
that implement the specified class
 
-The primary use case is to instantiate domain objects using a regular 
constructor ("new is the new new") rather than using the 
xref:rgsvc.adoc#_rgsvc_api_DomainObjectContainer_object-creation-api[`#newTransientInstance()`]
 API, and then using the `#injectServicesInto(...)` API to set up any 
dependencies.
+The primary use case is to instantiate domain objects using a regular 
constructor ("new is the new new") rather than using the 
xref:../rgsvc/rgsvc.adoc#_rgsvc_api_DomainObjectContainer_object-creation-api[`#newTransientInstance()`]
 API, and then using the `#injectServicesInto(...)` API to set up any 
dependencies.
 
 For example:
 

http://git-wip-us.apache.org/repos/asf/isis/blob/252c2f8e/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_DomainObjectContainer_validation-api.adoc
----------------------------------------------------------------------
diff --git 
a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_DomainObjectContainer_validation-api.adoc
 
b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_DomainObjectContainer_validation-api.adoc
index 96d4fda..40aedab 100644
--- 
a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_DomainObjectContainer_validation-api.adoc
+++ 
b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_DomainObjectContainer_validation-api.adoc
@@ -7,7 +7,7 @@
 
 The intent of this API is to provide a mechanism where an object can 
programmatically check the state any class
 invariants.  Specifically, this means the validating the current state of all 
properties, as well as any object-level
-validation defined by 
xref:rgcms.adoc#_rgcms_methods_reserved_validate[`validate()`].
+validation defined by 
xref:../rgcms/rgcms.adoc#_rgcms_methods_reserved_validate[`validate()`].
 
 [WARNING]
 ====

http://git-wip-us.apache.org/repos/asf/isis/blob/252c2f8e/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_EmailService.adoc
----------------------------------------------------------------------
diff --git 
a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_EmailService.adoc
 
b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_EmailService.adoc
index 8d9327b..1f44047 100644
--- 
a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_EmailService.adoc
+++ 
b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_EmailService.adoc
@@ -47,7 +47,7 @@ To use this service the following properties must be 
configured:
 * `isis.service.email.sender.address`
 * `isis.service.email.sender.password`
 
-and these properties may optionally be configured (each has a default to use 
gmail, documented xref:rgcfg.adoc#_rgcfg_configuring-core[here]):
+and these properties may optionally be configured (each has a default to use 
gmail, documented xref:../rgcfg/rgcfg.adoc#_rgcfg_configuring-core[here]):
 
 * `isis.service.email.sender.hostname`
 * `isis.service.email.port`
@@ -112,11 +112,11 @@ To ensure that your alternative implementation takes the 
place of the default im
 
 == 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 implementation of `EmailService` service is 
automatically registered and injected (it is annotated with `@DomainService`) 
so no further configuration is required.
+Assuming that the `configuration-and-annotation` services installer is 
configured (implicit if using the `AppManifest` to 
xref:../rgcms/rgcms.adoc#_rgcms_classes_AppManifest-bootstrapping[bootstrap the 
app]) then Apache Isis' core implementation of `EmailService` service 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).
+To use an alternative implementation, use 
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).
 
 
 == Related Services
 
-The email service is used by the 
xref:rgsvc.adoc#_rgsvc_spi_EmailNotificationService[`EmailNotificationService`] 
which is, in turn, used by 
xref:rgsvc.adoc#_rgsvc_spi_UserRegistrationService[`UserRegistrationService`].
\ No newline at end of file
+The email service is used by the 
xref:../rgsvc/rgsvc.adoc#_rgsvc_spi_EmailNotificationService[`EmailNotificationService`]
 which is, in turn, used by 
xref:../rgsvc/rgsvc.adoc#_rgsvc_spi_UserRegistrationService[`UserRegistrationService`].
\ 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_api_EventBusService.adoc
----------------------------------------------------------------------
diff --git 
a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_EventBusService.adoc
 
b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_EventBusService.adoc
index 36e0cb8..2d8c3de 100644
--- 
a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_EventBusService.adoc
+++ 
b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_EventBusService.adoc
@@ -8,7 +8,7 @@
 
 The `EventBusService` allows domain objects to emit events to subscribing 
domain services using an in-memory event bus.
 
-The primary user of the service is the framework itself, which automatically 
emit events for xref:rgant.adoc#_rgant-Action_domainEvent[actions], 
xref:rgant.adoc#_rgant-Property_domainEvent[properties] and 
xref:rgant.adoc#_rgant-Collection_domainEvent[collections].  Multiple events 
are generated:
+The primary user of the service is the framework itself, which automatically 
emit events for xref:../rgant/rgant.adoc#_rgant-Action_domainEvent[actions], 
xref:../rgant/rgant.adoc#_rgant-Property_domainEvent[properties] and 
xref:../rgant/rgant.adoc#_rgant-Collection_domainEvent[collections].  Multiple 
events are generated:
 
 * when an object member is to be viewed, an event is fired; subscribers can 
veto (meaning that the member is hidden)
 * when an object member is to be enabled, the same event instance is fired; 
subscribers can veto (meaning that the member is disabled, ie cannot be 
edited/invoked)
@@ -16,7 +16,7 @@ The primary user of the service is the framework itself, 
which automatically emi
 * when an object member is about to be changed, then the same event instance 
is fired; subscribers can perform pre-execution operations
 * when an object member has been changed, then the same event instance is 
fired; subscribers can perform post-execution operations
 
-If a subscriber throws an exception in the first three steps, then the 
interaction is vetoed. If a subscriber throws an exception in the last two 
steps, then the transaction is aborted.  For more on this topic, see 
xref:rgant.adoc#_rgant-Action_domainEvent[`@Action#domainEvent()`], 
xref:rgant.adoc#_rgant-Property_domainEvent[`@Property#domainEvent()`] and 
xref:rgant.adoc#_rgant-Collection_domainEvent[`@Collection#domainEvent()`].
+If a subscriber throws an exception in the first three steps, then the 
interaction is vetoed. If a subscriber throws an exception in the last two 
steps, then the transaction is aborted.  For more on this topic, see 
xref:../rgant/rgant.adoc#_rgant-Action_domainEvent[`@Action#domainEvent()`], 
xref:../rgant/rgant.adoc#_rgant-Property_domainEvent[`@Property#domainEvent()`] 
and 
xref:../rgant/rgant.adoc#_rgant-Collection_domainEvent[`@Collection#domainEvent()`].
 
 It is also possible for domain objects to programmatically generate domain 
events.  However the events are published, the primary use case is to 
decoupling interactions from one module/package/namespace and another.
 
@@ -41,7 +41,7 @@ public abstract class EventBusService {
 }
 ----
 <1> posts the event onto event bus
-<2> allows domain services to register themselves.  This should be done in 
their xref:rgant.adoc#_rgant-PostConstruct[`@PostConstruct`] initialization 
method (for both singleton and 
xref:rgant.adoc#_rgant-RequestScoped[`@RequestScoped`] domain services.
+<2> allows domain services to register themselves.  This should be done in 
their xref:../rgant/rgant.adoc#_rgant-PostConstruct[`@PostConstruct`] 
initialization method (for both singleton and 
xref:../rgant/rgant.adoc#_rgant-RequestScoped[`@RequestScoped`] domain services.
 <3> exists for symmetry, but need never be called (it is in fact deliberately 
a no-op).
 
 Isis provides a default implementation of the service, 
`o.a.i.objectstore.jdo.datanucleus.service.eventbus.EventBusServiceJdo`.
@@ -52,7 +52,7 @@ Isis provides a default implementation of the service, 
`o.a.i.objectstore.jdo.da
 
 == Registering Subscribers
 
-The `register()` method should be called in the 
xref:rgant.adoc#_rgant-PostConstruct[`@PostConstruct`] lifecycle method.  It is 
valid and probably the least confusing to readers to also "unregister" in the 
xref:rgant.adoc#_rgant-PreDestroy[`@PreDestroy`] lifecycle method (though as 
noted 
xref:rgsvc.adoc#__rgsvc_api_EventBusService_api-and-implementation[above], 
unregistering is actually a no-op).
+The `register()` method should be called in the 
xref:../rgant/rgant.adoc#_rgant-PostConstruct[`@PostConstruct`] lifecycle 
method.  It is valid and probably the least confusing to readers to also 
"unregister" in the xref:../rgant/rgant.adoc#_rgant-PreDestroy[`@PreDestroy`] 
lifecycle method (though as noted 
xref:../rgsvc/rgsvc.adoc#__rgsvc_api_EventBusService_api-and-implementation[above],
 unregistering is actually a no-op).
 
 For example:
 
@@ -78,20 +78,20 @@ public class MySubscribingDomainService {
 <2> It's important that subscribers register before any domain services that 
might emit events on the event bus service.
 For example, the (non-ASF) 
http://github.com/isisaddons/isis-module-security[Isis addons' security] module 
provides a
 domain service that automatically seeds certain domain entities; these will 
generate
-xref:rgcms.adoc#_rgcms_classes_lifecycleevent[lifecycle events] and so any 
subscribers must be registered before such seed
-services.  The easiest way to do this is to use the 
xref:rgant.adoc#_rgant-DomainServiceLayout_menuOrder[`@DomainServiceLayout#menuOrder()`]
 attribute.
-<3> register with the event bus service during 
xref:rgant.adoc#_rgant-PostConstruct[`@PostConstruct`]
+xref:../rgcms/rgcms.adoc#_rgcms_classes_lifecycleevent[lifecycle events] and 
so any subscribers must be registered before such seed
+services.  The easiest way to do this is to use the 
xref:../rgant/rgant.adoc#_rgant-DomainServiceLayout_menuOrder[`@DomainServiceLayout#menuOrder()`]
 attribute.
+<3> register with the event bus service during 
xref:../rgant/rgant.adoc#_rgant-PostConstruct[`@PostConstruct`]
     initialization
 <4> corresponding deregister when shutting down
 
-This works for both singleton (application-scoped) and also 
xref:rgant.adoc#_rgant-RequestScoped[`@RequestScoped`] domain services.
+This works for both singleton (application-scoped) and also 
xref:../rgant/rgant.adoc#_rgant-RequestScoped[`@RequestScoped`] domain services.
 
 
 [TIP]
 ====
-The 
xref:rgcms.adoc#_rgcms_classes_super_AbstractSubscriber[`AbstractSubscriber`] 
class automatically performs this
+The 
xref:../rgcms/rgcms.adoc#_rgcms_classes_super_AbstractSubscriber[`AbstractSubscriber`]
 class automatically performs this
 registration.  As a convenience, it is also annotated with the
-xref:rgant.adoc#_rgant-DomainServiceLayout_menuOrder[`@DomainServiceLayout#menuOrder()`]
 attribute.
+xref:../rgant/rgant.adoc#_rgant-DomainServiceLayout_menuOrder[`@DomainServiceLayout#menuOrder()`]
 attribute.
 ====
 
 
@@ -149,7 +149,7 @@ public class LibraryMember {
     ...
 }
 ----
-<1> `LibraryMemberLeaveEvent` is a subclass of 
`o.a.i.applib.eventbus.ActionDomainEvent`.  The topic of subclassing is 
discussed in more detail 
xref:rgsvc.adoc#__rgsvc_api_EventBusService_event-hierarchy[below].
+<1> `LibraryMemberLeaveEvent` is a subclass of 
`o.a.i.applib.eventbus.ActionDomainEvent`.  The topic of subclassing is 
discussed in more detail 
xref:../rgsvc/rgsvc.adoc#__rgsvc_api_EventBusService_event-hierarchy[below].
 
 Meanwhile, in the `BookRepository` domain service, we subscribe to the event 
and act upon it.  For example:
 
@@ -282,13 +282,13 @@ public class LibraryMember {
 ----
 <1> `LibraryMember.LeaveEvent` could be _any_ class, not just a subclass of 
`o.a.i.applib.event.ActionDomainEvent`.
 
-In practice we suspect there will be few cases where the programmatic approach 
is required rather than the declarative approach afforded by 
xref:rgant.adoc#_rgant-Action_domainEvent[`@Action#domainEvent()`] et al.
+In practice we suspect there will be few cases where the programmatic approach 
is required rather than the declarative approach afforded by 
xref:../rgant/rgant.adoc#_rgant-Action_domainEvent[`@Action#domainEvent()`] et 
al.
 
 
 
 == Using `WrapperFactory`
 
-An alternative way to cause events to be posted is through the 
xref:rgsvc.adoc#_rgsvc_api_WrapperFactory[`WrapperFactory`].  This is useful 
when you wish to enforce a (lack-of-) trust boundary between the caller and the 
callee.
+An alternative way to cause events to be posted is through the 
xref:../rgsvc/rgsvc.adoc#_rgsvc_api_WrapperFactory[`WrapperFactory`].  This is 
useful when you wish to enforce a (lack-of-) trust boundary between the caller 
and the callee.
 
 For example, suppose that `Customer#placeOrder(...)` emits a 
`PlaceOrderEvent`, which is subscribed to by a `ReserveStockSubscriber`.  This 
subscriber in turn calls `StockManagementService#reserveStock(...)`.  Any 
business rules on `#reserveStock(...)` should be enforced.
 
@@ -315,12 +315,12 @@ public class ReserveStockSubscriber {
 
 == Implementation SPI
 
-The implementation of `EventBusService` provided by Apache Isis will by 
default use link:https://code.google.com/p/guava-libraries/[Guava]'s 
https://code.google.com/p/guava-libraries/wiki/EventBusExplained[`EventBus`] as 
the underlying in-memory event bus.  Alternatively the 
link:http://www.axonframework.org/[AxonFramework]'s 
link:http://www.axonframework.org/docs/2.4/single.html#d5e1489[SimpleEventBus] 
can be used.  Which is used is specified through configuration property 
(described xref:rgsvc.adoc#__rgsvc_api_EventBusService_Configuration[below]).
+The implementation of `EventBusService` provided by Apache Isis will by 
default use link:https://code.google.com/p/guava-libraries/[Guava]'s 
https://code.google.com/p/guava-libraries/wiki/EventBusExplained[`EventBus`] as 
the underlying in-memory event bus.  Alternatively the 
link:http://www.axonframework.org/[AxonFramework]'s 
link:http://www.axonframework.org/docs/2.4/single.html#d5e1489[SimpleEventBus] 
can be used.  Which is used is specified through configuration property 
(described 
xref:../rgsvc/rgsvc.adoc#__rgsvc_api_EventBusService_Configuration[below]).
 
 [NOTE]
 .Guava vs Axon, which to use?
 ====
-Guava actually queues up events; they are not guaranteed to be dispatched 
immediately.  This generally is not problem, but can be for cases where the 
subscriber may in turn want to post its own events (using 
xref:rgsvc.adoc#_rgsvc_api_WrapperFactory[`WrapperFactory`]).
+Guava actually queues up events; they are not guaranteed to be dispatched 
immediately.  This generally is not problem, but can be for cases where the 
subscriber may in turn want to post its own events (using 
xref:../rgsvc/rgsvc.adoc#_rgsvc_api_WrapperFactory[`WrapperFactory`]).
 
 The Axon `SimpleEventBus`-based implementation on the other hand is fully 
synchronous; events are dispatched as soon as they are posted.  This works well 
in all scenarios (that we have tested).
 ====
@@ -348,7 +348,7 @@ If you do provide your own implementation of this SPI, be 
aware that your subscr
 
 The implementation of `EventBusService` provided by Apache Isis will by 
default use link:https://code.google.com/p/guava-libraries/[Guava]'s 
https://code.google.com/p/guava-libraries/wiki/EventBusExplained[`EventBus`] as 
the underlying in-memory event bus.  Alternatively the 
link:http://www.axonframework.org/[AxonFramework]'s 
link:http://www.axonframework.org/docs/2.4/single.html#d5e1489[SimpleEventBus] 
can be used.
 
-To specify which, add the 
xref:rgcfg.adoc#_rgcfg_configuring-core[configuration property] 
`isis.services.eventbus.implementation`:
+To specify which, add the 
xref:../rgcfg/rgcfg.adoc#_rgcfg_configuring-core[configuration property] 
`isis.services.eventbus.implementation`:
 
 [source,ini]
 ----
@@ -387,13 +387,13 @@ Late registration refers to the idea that a domain 
service can register itself w
 == 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 `EventBusService` service 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).
 
 
 
@@ -402,4 +402,4 @@ in the 
xref:rgsvc.adoc#__rgsvc_intro_overriding-the-services[introduction] to th
 
 The `EventBusService` 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).
 
-The xref:rgsvc.adoc#_rgsvc_spi_PublishingService[`PublishingService`] 
meanwhile 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()`]).
\ No newline at end of file
+The xref:../rgsvc/rgsvc.adoc#_rgsvc_spi_PublishingService[`PublishingService`] 
meanwhile 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/rgant.adoc#_rgant-Action_publishing[`@Action#publishing()`]) and 
of changed objects (for objects annotated with 
xref:../rgant/rgant.adoc#_rgant-DomainObject_publishing[`@DomainObject#publishing()`]).
\ 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_api_FactoryService.adoc
----------------------------------------------------------------------
diff --git 
a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_FactoryService.adoc
 
b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_FactoryService.adoc
index d11c11b..e7563e0 100644
--- 
a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_FactoryService.adoc
+++ 
b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_FactoryService.adoc
@@ -9,7 +9,7 @@ The `FactoryService` collects together methods for 
instantiating domain objects.
 
 [NOTE]
 ====
-The methods in this service replace similar methods (now deprecated) in 
xref:rgsvc.adoc#_rgsvc_api_DomainObjectContainer[`DomainObjectContainer`].
+The methods in this service replace similar methods (now deprecated) in 
xref:../rgsvc/rgsvc.adoc#_rgsvc_api_DomainObjectContainer[`DomainObjectContainer`].
 ====
 
 
@@ -25,16 +25,16 @@ public interface FactoryService {
 }
 ----
 <1> create a new non-persisted domain entity.  Any services will be 
automatically injected into the service.
-<2> programmatically instantiate a mixin, as annotated with 
xref:rgant.adoc#_rgant-Mixin[`@Mixin`] or 
xref:rgant.adoc#_rgant-DomainObject_nature[`@DomainObject#nature()`].
+<2> programmatically instantiate a mixin, as annotated with 
xref:../rgant/rgant.adoc#_rgant-Mixin[`@Mixin`] or 
xref:../rgant/rgant.adoc#_rgant-DomainObject_nature[`@DomainObject#nature()`].
 
 
 The object is created in memory, but is not persisted.  The benefits of using 
this method (instead of simply using the Java `new` keyword) are:
 
-* any services will be injected into the object immediately (otherwise they 
will not be injected until the frameworkbecomes aware of the object, typically 
when it is persisted through the 
xref:rgsvc.adoc#_rgsvc_api_RepositoryService[`RepositoryService`]
+* any services will be injected into the object immediately (otherwise they 
will not be injected until the frameworkbecomes aware of the object, typically 
when it is persisted through the 
xref:../rgsvc/rgsvc.adoc#_rgsvc_api_RepositoryService[`RepositoryService`]
 
 * the default value for any properties (usually as specified by `defaultXxx()` 
supporting methods) will not be set and the `created()` callback will be called.
 
-The corollary is: if your code never uses `defaultXxx()` or the `created()` 
callback, then you can just `new` up the object.  The 
xref:rgsvc.adoc#_rgsvc_api_ServiceRegistry[`ServiceRegistry`] service can be 
used to inject services into the domain object.
+The corollary is: if your code never uses `defaultXxx()` or the `created()` 
callback, then you can just `new` up the object.  The 
xref:../rgsvc/rgsvc.adoc#_rgsvc_api_ServiceRegistry[`ServiceRegistry`] service 
can be used to inject services into the domain object.
 
 
 
@@ -61,19 +61,19 @@ The core framework provides a default implementation of 
this service (`o.a.i.cor
 == 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]) 
then Apache Isis' core
+`AppManifest` to 
xref:../rgcms/rgcms.adoc#_rgcms_classes_AppManifest-bootstrapping[bootstrap the 
app]) then Apache Isis' core
 implementation of `FactoryService` service 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).
 
 
 == Related Services
 
-The xref:rgsvc.adoc#_rgsvc_api_RepositoryService[`RepositoryService`] is often 
used in conjunction with the `FactoryService`, to persist domain objects after 
they have been instantiated and populated.
+The xref:../rgsvc/rgsvc.adoc#_rgsvc_api_RepositoryService[`RepositoryService`] 
is often used in conjunction with the `FactoryService`, to persist domain 
objects after they have been instantiated and populated.
 
 An alternative to using the factory service is to simply instantiate the 
object ("new is the new new") and then use the
-xref:rgsvc.adoc#_rgsvc_api_ServiceRegistry[`ServiceRegistry`] service to 
inject other domain services into the
+xref:../rgsvc/rgsvc.adoc#_rgsvc_api_ServiceRegistry[`ServiceRegistry`] service 
to inject other domain services into the
 instantiated object.
\ 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_api_FixtureScriptsDefault.adoc
----------------------------------------------------------------------
diff --git 
a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_FixtureScriptsDefault.adoc
 
b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_FixtureScriptsDefault.adoc
index a81db56..7e45125 100644
--- 
a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_FixtureScriptsDefault.adoc
+++ 
b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_FixtureScriptsDefault.adoc
@@ -8,13 +8,13 @@
 
 The `FixtureScriptsDefault` service provides the ability to execute 
xref:ugtst.adoc#_ugtst_fixture-scripts_api-and-usage[fixture scripts] .
 
-The service extends from the 
xref:rgcms.adoc#_rgcms_classes_super_FixtureScripts[`FixtureScripts`], and is 
only instantiated by the framework if there no custom implementation of 
`FixtureScripts` has been otherwise provided; in other words it is a fallback.
+The service extends from the 
xref:../rgcms/rgcms.adoc#_rgcms_classes_super_FixtureScripts[`FixtureScripts`], 
and is only instantiated by the framework if there no custom implementation of 
`FixtureScripts` has been otherwise provided; in other words it is a fallback.
 
-If this service is instantiated (as a fallback) then it uses the 
xref:rgsvc.adoc#_rgsvc_spi_FixtureScriptsSpecificationProvider[`FixtureScriptsSpecificationProvider`]
 to obtain a `FixtureScriptsSpecification`.  This configures this service, 
telling it which package to search for `FixtureScript` classes, how to execute 
those classes, and hints that influence the UI.
+If this service is instantiated (as a fallback) then it uses the 
xref:../rgsvc/rgsvc.adoc#_rgsvc_spi_FixtureScriptsSpecificationProvider[`FixtureScriptsSpecificationProvider`]
 to obtain a `FixtureScriptsSpecification`.  This configures this service, 
telling it which package to search for `FixtureScript` classes, how to execute 
those classes, and hints that influence the UI.
 
 [TIP]
 ====
-We recommend using 
xref:rgsvc.adoc#_rgsvc_spi_FixtureScriptsSpecificationProvider[`FixtureScriptsSpecificationProvider`]
 rather than subclassing 
xref:rgcms.adoc#_rgcms_classes_super_FixtureScripts[`FixtureScripts`].
+We recommend using 
xref:../rgsvc/rgsvc.adoc#_rgsvc_spi_FixtureScriptsSpecificationProvider[`FixtureScriptsSpecificationProvider`]
 rather than subclassing 
xref:../rgcms/rgcms.adoc#_rgcms_classes_super_FixtureScripts[`FixtureScripts`].
 ====
 
 
@@ -33,18 +33,18 @@ public class FixtureScriptsDefault ... {
 }
 ----
 
-... in other words the same as 
xref:rgcms.adoc#_rgcms_classes_super_FixtureScripts[`FixtureScripts`] 
superclass that it inherits from.
+... in other words the same as 
xref:../rgcms/rgcms.adoc#_rgcms_classes_super_FixtureScripts[`FixtureScripts`] 
superclass that it inherits from.
 
 
 == Configuration
 
 As noted in the introduction, this service is only instantiated if there is no 
other implementation of `FixtureScripts` available on the classpath.
 
-If an instance of `FixtureScriptsSpecificationProvider` is available on the 
classpath, then the service will be visible in the UI (assuming 
xref:rgcfg.adoc#_rgcfg_deployment-types[prototype mode]).  Otherwise the 
service will be available only to be injected and invoked programmatically.
+If an instance of `FixtureScriptsSpecificationProvider` is available on the 
classpath, then the service will be visible in the UI (assuming 
xref:../rgcfg/rgcfg.adoc#_rgcfg_deployment-types[prototype mode]).  Otherwise 
the service will be available only to be injected and invoked programmatically.
 
 
 
 
 == Related Services
 
-The service interacts with 
xref:rgsvc.adoc#_rgsvc_spi_FixtureScriptsSpecificationProvider[`FixtureScriptsSpecificationProvider`].
+The service interacts with 
xref:../rgsvc/rgsvc.adoc#_rgsvc_spi_FixtureScriptsSpecificationProvider[`FixtureScriptsSpecificationProvider`].

http://git-wip-us.apache.org/repos/asf/isis/blob/252c2f8e/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_GuiceBeanProvider.adoc
----------------------------------------------------------------------
diff --git 
a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_GuiceBeanProvider.adoc
 
b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_GuiceBeanProvider.adoc
index 44cd0dd..5a39ce3 100644
--- 
a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_GuiceBeanProvider.adoc
+++ 
b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_GuiceBeanProvider.adoc
@@ -7,7 +7,7 @@
 
 The `GuiceBeanProvider` domain service acts as a bridge between Apache Isis' 
xref:ugvw.adoc#[Wicket viewer] internal bootstrapping using 
link:https://github.com/google/guice[Google Guice].
 
-This service operates at a very low-level, and you are unlikely to have a need 
for it.  It is used internally by the framework, in the default implementation 
of the xref:rgsvc.adoc#_rgsvc_api_DeepLinkService[`DeepLinkService`].
+This service operates at a very low-level, and you are unlikely to have a need 
for it.  It is used internally by the framework, in the default implementation 
of the xref:../rgsvc/rgsvc.adoc#_rgsvc_api_DeepLinkService[`DeepLinkService`].
 
 [NOTE]
 ====
@@ -80,12 +80,12 @@ should return "ToDo App".
 == 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]), 
_and_ that the
+`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 
`GuiceBeanProvider` 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).
 
 

http://git-wip-us.apache.org/repos/asf/isis/blob/252c2f8e/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_HomePageProviderService.adoc
----------------------------------------------------------------------
diff --git 
a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_HomePageProviderService.adoc
 
b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_HomePageProviderService.adoc
index ef3d064..5ad3845 100644
--- 
a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_HomePageProviderService.adoc
+++ 
b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_HomePageProviderService.adoc
@@ -7,10 +7,10 @@
 
 
 This service simply provides access to the home page object (if any) that is 
returned from the domain service
-action annotated with xref:rgant.adoc#_rgant-HomePage[`@HomePage`].
+action annotated with xref:../rgant/rgant.adoc#_rgant-HomePage[`@HomePage`].
 
 It is originally introduced to support the default implementation of
-xref:rgsvc.adoc#_rgsvc_spi_RoutingService[`RoutingService`], but was factored 
out to support alternative implementations
+xref:../rgsvc/rgsvc.adoc#_rgsvc_spi_RoutingService[`RoutingService`], but was 
factored out to support alternative implementations
 of that service (and may be useful for other use cases).
 
 
@@ -34,7 +34,7 @@ The default implementation is provided by 
`o.a.i.core.runtime.services.homepage.
 == 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]) 
then Apache Isis' core
+`AppManifest` to 
xref:../rgcms/rgcms.adoc#_rgcms_classes_AppManifest-bootstrapping[bootstrap the 
app]) then Apache Isis' core
 implementation of `HomePageProviderService` is automatically registered (it is 
annotated with `@DomainService`) so no further
 configuration is required.
 

http://git-wip-us.apache.org/repos/asf/isis/blob/252c2f8e/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_InteractionContext.adoc
----------------------------------------------------------------------
diff --git 
a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_InteractionContext.adoc
 
b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_InteractionContext.adoc
index e0acb30..503640b 100644
--- 
a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_InteractionContext.adoc
+++ 
b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_InteractionContext.adoc
@@ -10,12 +10,12 @@ The `InteractionContext` is a request-scoped domain service 
that is used to obta
 `Interaction`.
 
 An `Interaction` generally consists of a single top-level `Execution`, either 
to invoke an action or to edit a
-property.  If that top-level action or property uses 
xref:rgsvc.adoc#_rgsvc_api_WrapperFactory[`WrapperFactory`] to
+property.  If that top-level action or property uses 
xref:../rgsvc/rgsvc.adoc#_rgsvc_api_WrapperFactory[`WrapperFactory`] to
 invoke child actions/properties, then those sub-executions are captured as a 
call-graph.  The `Execution` is thus a
 graph structure.
 
 If a bulk action is performed (as per an action annotated using
-xref:rgant.adoc#_rgant-Action_invokeOn[`@Action#invokeOn()`]), then this will 
result in multiple ``Interaction``s, one
+xref:../rgant/rgant.adoc#_rgant-Action_invokeOn[`@Action#invokeOn()`]), then 
this will result in multiple ``Interaction``s, one
 per selected object (not one `Interaction` with multiple top-level 
``Execution``s).
 
 
@@ -26,10 +26,10 @@ http://github.com/isisaddons/isis-module-publishmq[Isis 
addons' publishmq] modul
 * they enable profiling of the running application (which actions are invoked 
then most often, what is their response
 time)
 
-* if auditing is configured (using either 
xref:rgsvc.adoc#_rgsvc_spi_AuditingService[auditing] or
-xref:rgsvc.adoc#_rgsvc_spi_AuditerService[`AuditerService`]), they provide 
better audit information, since the
+* if auditing is configured (using either 
xref:../rgsvc/rgsvc.adoc#_rgsvc_spi_AuditingService[auditing] or
+xref:../rgsvc/rgsvc.adoc#_rgsvc_spi_AuditerService[`AuditerService`]), they 
provide better audit information, since the
 `Interaction.Execution` captures the 'cause' of an interaction and can be 
correlated to the audit records (the "effect"
-of the interaction) by way of the 
xref:rgcms.adoc#_rgcms_classes_mixins_HasTransactionId[`transactionId`]
+of the interaction) by way of the 
xref:../rgcms/rgcms.adoc#_rgcms_classes_mixins_HasTransactionId[`transactionId`]
 
 
 
@@ -75,11 +75,11 @@ public class Interaction {
     public int next(final String sequenceId);       // <5>
 }
 ----
-<1> The unique identifier of this interaction.  This will be the same value as 
held in `Command` (obtainable from 
xref:rgsvc.adoc#_rgsvc_api_CommandContext[`CommandContext`]).
+<1> The unique identifier of this interaction.  This will be the same value as 
held in `Command` (obtainable from 
xref:../rgsvc/rgsvc.adoc#_rgsvc_api_CommandContext[`CommandContext`]).
 <2> The member `Execution` (action invocation or property edit) that preceded 
the current one.
 <3> The current execution.
 <4> * Returns a (list of) execution}s in the order that they were pushed.  
Generally there will be just one entry in this list, but additional entries may 
arise from the use of mixins/contributions when re-rendering a modified object.
-<5> Generates numbers in a named sequence.  Used by the framework both to 
number successive interaction ``Execution``s and for events published by the 
xref:rgsvc.adoc#_rgsvc_spi_PublisherService[`PublisherService`].
+<5> Generates numbers in a named sequence.  Used by the framework both to 
number successive interaction ``Execution``s and for events published by the 
xref:../rgsvc/rgsvc.adoc#_rgsvc_spi_PublisherService[`PublisherService`].
 
 This class is concrete (is also the implementation).
 
@@ -88,7 +88,7 @@ This class is concrete (is also the implementation).
 
 The `Interaction.Execution` (static nested) class represents an action 
invocation/property edit as a node in a
 call-stack execution graph.  Sub-executions can be performed using the
-xref:rgsvc.adoc#_rgsvc_api_WrapperFactory[`WrapperFactory`].
+xref:../rgsvc/rgsvc.adoc#_rgsvc_api_WrapperFactory[`WrapperFactory`].
 
 It has the following public API:
 
@@ -124,12 +124,12 @@ public abstract class Execution {
 <5> A human-friendly description of the class of the target object, and of the 
name of the action invoked/property
 edited on the target object.
 <6> The parent action/property that invoked this action/property edit (if 
any), and any actions/property edits made in
-turn via the xref:rgsvc.adoc#_rgsvc_api_WrapperFactory[`WrapperFactory`].
-<7> The domain event fired via the 
xref:rgsvc.adoc#_rgsvc_api_EventBusService[`EventBusService`] representing the
+turn via the 
xref:../rgsvc/rgsvc.adoc#_rgsvc_api_WrapperFactory[`WrapperFactory`].
+<7> The domain event fired via the 
xref:../rgsvc/rgsvc.adoc#_rgsvc_api_EventBusService[`EventBusService`] 
representing the
 execution of this action invocation/property edit.
 <8> The date/time at which this execution started/completed.
 <9> The object returned by the action invocation/property edit, or the 
exception thrown.  For `void` methods and for actions returning collections, 
the value will be `null`.
-<10> A DTO (instance of the xref:rgcms.adoc#_rgcms_schema_ixn["ixn" schema]) 
being a serializable representation of this action invocation/property edit.
+<10> A DTO (instance of the xref:../rgcms/rgcms.adoc#_rgcms_schema_ixn["ixn" 
schema]) being a serializable representation of this action invocation/property 
edit.
 
 
 
@@ -162,27 +162,27 @@ public class PropertyEdit extends Execution {
 
 Typically domain objects will have little need to interact with the 
`InteractionContext` and `Interaction` directly.
 The services are used within the framework however, primarily to support the
-xref:rgsvc.adoc#_rgsvc_spi_PublisherService[`PublisherService`] SPI, and to 
emit domain events over the
-xref:rgsvc.adoc#_rgsvc_api_EventBusService[`EventBusService`].
+xref:../rgsvc/rgsvc.adoc#_rgsvc_spi_PublisherService[`PublisherService`] SPI, 
and to emit domain events over the
+xref:../rgsvc/rgsvc.adoc#_rgsvc_api_EventBusService[`EventBusService`].
 
 
 
 == 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]) 
then Apache Isis' default
+`AppManifest` to 
xref:../rgcms/rgcms.adoc#_rgcms_classes_AppManifest-bootstrapping[bootstrap the 
app]) then Apache Isis' default
 implementation of `InteractionContext` class is automatically registered (it 
is annotated with `@DomainService`)
 so no further configuration is required.
 
 The framework also takes responsibility for instantiating the `Interaction`, 
using the
-xref:rgsvc.adoc#_rgsvc_api_FactoryService[`FactoryService`].
+xref:../rgsvc/rgsvc.adoc#_rgsvc_api_FactoryService[`FactoryService`].
 
 [NOTE]
 ====
-Unlike the similar xref:rgsvc.adoc#_rgsvc_api_CommandContext[`CommandContext`] 
(discussed
-xref:rgsvc.adoc#__rgsvc_api_InteractionContext_Related-Classes[below]) there 
is no domain service to different
+Unlike the similar 
xref:../rgsvc/rgsvc.adoc#_rgsvc_api_CommandContext[`CommandContext`] (discussed
+xref:../rgsvc/rgsvc.adoc#__rgsvc_api_InteractionContext_Related-Classes[below])
 there is no domain service to different
 implementations of `Interaction` to be used.  If this were to be needed, then 
a custom implementation of
- xref:rgsvc.adoc#_rgsvc_api_FactoryService[`FactoryService`] could always 
used).
+ xref:../rgsvc/rgsvc.adoc#_rgsvc_api_FactoryService[`FactoryService`] could 
always used).
 ====
 
 
@@ -191,14 +191,14 @@ implementations of `Interaction` to be used.  If this 
were to be needed, then a
 [[__rgsvc_api_InteractionContext_Related-Classes]]
 == Related Classes
 
-This service is very similar in nature to 
xref:rgsvc.adoc#_rgsvc_api_CommandContext[`CommandContext`], in that the
+This service is very similar in nature to 
xref:../rgsvc/rgsvc.adoc#_rgsvc_api_CommandContext[`CommandContext`], in that 
the
 `Interaction` object accessed through it is very similar to the `Command` 
object obtained from the `CommandContext`.
 The principle distinction is that while `Command` represents the __intention__ 
to invoke an action or edit a property,
 the `Interaction` (and contained ``Execution``s) represents the actual 
execution.
 
 Most of the time a `Command` will be followed directly by its corresponding 
`Interaction`.  However, if the `Command`
-is annotated to run in the background (using 
xref:rgant.adoc#_rgant-Action_command[`@Action#commandExecuteIn()`], or
-is explicitly created through the 
xref:rgsvc.adoc#_rgsvc_api_BackgroundService[`BackgroundService`], then the 
actual
+is annotated to run in the background (using 
xref:../rgant/rgant.adoc#_rgant-Action_command[`@Action#commandExecuteIn()`], or
+is explicitly created through the 
xref:../rgsvc/rgsvc.adoc#_rgsvc_api_BackgroundService[`BackgroundService`], 
then the actual
 interaction/execution is deferred until some other mechanism invokes the 
command (eg as described
 xref:ugbtb.adoc#_ugbtb_headless-access_BackgroundCommandExecution[here]).
 

http://git-wip-us.apache.org/repos/asf/isis/blob/252c2f8e/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_IsisJdoSupport.adoc
----------------------------------------------------------------------
diff --git 
a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_IsisJdoSupport.adoc
 
b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_IsisJdoSupport.adoc
index 7ba695c..32e2a48 100644
--- 
a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_IsisJdoSupport.adoc
+++ 
b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_IsisJdoSupport.adoc
@@ -5,7 +5,7 @@
 :_imagesdir: images/
 
 
-The `IsisJdoSupport` service provides a number of general purpose methods for 
working with the JDO/DataNucleus objectstore.  In general these act at a 
lower-level of abstraction than the APIs normally used (specifically, those of 
xref:rgsvc.adoc#_rgsvc_api_DomainObjectContainer[`DomainObjectContainer`]), but 
nevertheless deal with some of the most common use cases.  For service also 
provides access to the underlying JDO `PersistenceManager` for full control.
+The `IsisJdoSupport` service provides a number of general purpose methods for 
working with the JDO/DataNucleus objectstore.  In general these act at a 
lower-level of abstraction than the APIs normally used (specifically, those of 
xref:../rgsvc/rgsvc.adoc#_rgsvc_api_DomainObjectContainer[`DomainObjectContainer`]),
 but nevertheless deal with some of the most common use cases.  For service 
also provides access to the underlying JDO `PersistenceManager` for full 
control.
 
 The following sections discuss the functionality provided by the service, 
broken out into categories.
 
@@ -50,7 +50,7 @@ The returned value is the number of rows updated.
 
 [TIP]
 ====
-As an alternative, consider using DataNucleus' 
link:http://www.datanucleus.org/products/accessplatform_4_0/jdo/jdoql_typesafe.html[type-safe
 JDO query API], discussed 
xref:rgsvc.adoc#__rgsvc_api_IsisJdoSupport_type-safe-query-api[below].
+As an alternative, consider using DataNucleus' 
link:http://www.datanucleus.org/products/accessplatform_4_0/jdo/jdoql_typesafe.html[type-safe
 JDO query API], discussed 
xref:../rgsvc/rgsvc.adoc#__rgsvc_api_IsisJdoSupport_type-safe-query-api[below].
 ====
 
 
@@ -61,7 +61,7 @@ As an alternative, consider using DataNucleus' 
link:http://www.datanucleus.org/p
 
 DataNucleus provides an 
link:http://www.datanucleus.org/products/accessplatform_4_0/jdo/jdoql_typesafe.html[extension
 to JDO],  so that JDOQL queries can be built up and executed using a set of 
type-safe classes.
 
-The types in question for type safe queries are not the domain entities, but 
rather are companion "Q..." query classes.  These classes are generated 
dynamically by an link:https://www.jcp.org/en/jsr/detail?id=269[annotation 
processor] as a side-effect of compilation, one "Q..." class for each of the 
xref:rgant.adoc#_rgant-PersistenceCapable[`@PersistenceCapable`] domain entity 
in your application.  For example, a `ToDoItem` domain entity will give rise to 
a `QToDoItem` query class.  These "Q..." classes mirror the structure of domain 
entity, but expose properties that allow predicates to be built up for querying 
instances, as well as other functions in support of order by. group by and 
other clauses.
+The types in question for type safe queries are not the domain entities, but 
rather are companion "Q..." query classes.  These classes are generated 
dynamically by an link:https://www.jcp.org/en/jsr/detail?id=269[annotation 
processor] as a side-effect of compilation, one "Q..." class for each of the 
xref:../rgant/rgant.adoc#_rgant-PersistenceCapable[`@PersistenceCapable`] 
domain entity in your application.  For example, a `ToDoItem` domain entity 
will give rise to a `QToDoItem` query class.  These "Q..." classes mirror the 
structure of domain entity, but expose properties that allow predicates to be 
built up for querying instances, as well as other functions in support of order 
by. group by and other clauses.
 
 [NOTE]
 ====
@@ -108,7 +108,7 @@ public List<ToDoItem> findByAtPathAndCategory(final String 
atPath, final Categor
 
 [NOTE]
 ====
-You can find the full example of the JDOQL equivalent in the 
xref:rgsvc.adoc#_rgsvc_api_DomainObjectContainer_generic-repository-api[`DomainObjectContainer`]
+You can find the full example of the JDOQL equivalent in the 
xref:../rgsvc/rgsvc.adoc#_rgsvc_api_DomainObjectContainer_generic-repository-api[`DomainObjectContainer`]
 ====
 
 
@@ -132,7 +132,7 @@ private static <T> List<T> executeListAndClose(final 
TypesafeQuery<T> query) {
 [[__rgsvc_api_IsisJdoSupport_fixture-support]]
 == Fixture support
 
-When writing xref:ugtst.adoc#_ugtst_integ-test-support[integration tests] 
you'll usually need to tear down some/all mutable transactional data before 
each test.  One way to do that is to use the `executeUpdate(...)` method 
described xref:rgsvc.adoc#__rgsvc_api_IsisJdoSupport_executing-sql[above].
+When writing xref:ugtst.adoc#_ugtst_integ-test-support[integration tests] 
you'll usually need to tear down some/all mutable transactional data before 
each test.  One way to do that is to use the `executeUpdate(...)` method 
described 
xref:../rgsvc/rgsvc.adoc#__rgsvc_api_IsisJdoSupport_executing-sql[above].
 
 Alternatively, the `deleteAll(...)` method will let your test delete all 
instances of a class without resorting to SQL:
 
@@ -267,10 +267,10 @@ public List<Order> findOrders(...) {
 == 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 `IsisJdoSupport` service 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).

http://git-wip-us.apache.org/repos/asf/isis/blob/252c2f8e/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_JaxbService.adoc
----------------------------------------------------------------------
diff --git 
a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_JaxbService.adoc
 
b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_JaxbService.adoc
index 725f7ec..9e99ef3 100644
--- 
a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_JaxbService.adoc
+++ 
b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_JaxbService.adoc
@@ -39,7 +39,7 @@ public interface JaxbService {
 
 With respect to the `IsisSchemas` enum: a JAXB-annotated domain object will 
live in its own XSD namespace and may
 reference multiple other XSD schemas.  In particular, many JAXB domain objects 
will reference the
-xref:rgcms.adoc#_rgcms_schema[common Isis schemas] (for example the `OidDto` 
class that represents a reference to
+xref:../rgcms/rgcms.adoc#_rgcms_schema[common Isis schemas] (for example the 
`OidDto` class that represents a reference to
 a persistent entity).  The enum indicates whether these schemas should be 
included or excluded from the map.
 
 Isis provides a default implementation of the service, 
`o.a.i.schema.services.jaxb.JaxbServiceDefault`.
@@ -49,20 +49,20 @@ Isis provides a default implementation of the service, 
`o.a.i.schema.services.ja
 == Usage within the framework
 
 This service is provided as a convenience for applications, but is also used 
internally by the framework to
-xref:rgant.adoc#_rgant-XmlRootElement[`@XmlRootElement`]-annotated
+xref:../rgant/rgant.adoc#_rgant-XmlRootElement[`@XmlRootElement`]-annotated
 xref:ugbtb.adoc#_ugbtb_view-models[view models].  The functionality to 
download XML and XSD schemas is also
-exposed in the UI through mixins to 
xref:rgcms.adoc#_rgcms_classes_mixins_Dto[`Dto`] interface.
+exposed in the UI through mixins to 
xref:../rgcms/rgcms.adoc#_rgcms_classes_mixins_Dto[`Dto`] interface.
 
 
 
 == 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]) 
then Apache Isis' core
+`AppManifest` to 
xref:../rgcms/rgcms.adoc#_rgcms_classes_AppManifest-bootstrapping[bootstrap the 
app]) then Apache Isis' core
 implementation of `JaxbService` service 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).
 

Reply via email to