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 2015/06/01 13:01:40 UTC

[3/3] isis git commit: ISIS-1133: more fixing up of references etc.

ISIS-1133: more fixing up of references etc.


Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/d85483af
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/d85483af
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/d85483af

Branch: refs/heads/ISIS-1133
Commit: d85483af76d727edcce0bac29da9b315d40d453c
Parents: 3162bda
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Mon Jun 1 12:01:33 2015 +0100
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Mon Jun 1 12:01:33 2015 +0100

----------------------------------------------------------------------
 ...g_appendices_articles-and-presentations.adoc |   2 +-
 .../_ug_appendices_migration-notes.adoc         |   2 +-
 .../_ug_core-concepts_building-blocks.adoc      |   5 +-
 .../_ug_core-concepts_philosophy_aop.adoc       |   4 +-
 ...ncepts_philosophy_naked-objects-pattern.adoc |   7 +-
 ...bjects-pattern_object-interface-mapping.adoc |   2 +-
 ...ts_principles_apache-isis-vs_metawidget.adoc |   3 +-
 ...ache-isis-vs_mvc-server-side-frameworks.adoc |   4 +-
 .../asciidoc/user-guide/_ug_deployment.adoc     |   1 +
 ...g_deployment_externalized-configuration.adoc |   9 ++
 .../asciidoc/user-guide/_ug_deployment_gae.adoc |   2 +-
 .../user-guide/_ug_deployment_jvm-flags.adoc    |   2 +-
 .../user-guide/_ug_deployment_neo4j.adoc        |   2 +-
 ...ug_extending_wicket-viewer_custom-pages.adoc |   2 +-
 ...g_wicket-viewer_replacing-page-elements.adoc |   2 +-
 ..._ug_getting-started_simpleapp-archetype.adoc |   2 +-
 ..._ug_how-tos_class-structure_collections.adoc |  54 +-----------
 ...aged-1-to-m-bidirectional-relationships.adoc |  64 ++++++++++++++
 .../_ug_how-tos_class-structure_properties.adoc |   3 +-
 .../asciidoc/user-guide/_ug_how-tos_crud.adoc   |   2 +-
 ...g_how-tos_ui-hints_action-icons-and-css.adoc |   4 +-
 ...how-tos_ui-hints_names-and-descriptions.adoc |   2 +-
 .../user-guide/_ug_isis-addons-modules.adoc     |  14 ++--
 ..._ug_isis-addons-modules_devutils-module.adoc |  34 ++++----
 ..._ug_isis-addons-modules_settings-module.adoc |  14 ++--
 .../user-guide/_ug_more-advanced_i18n.adoc      |   4 +-
 ...-advanced_tips-n-tricks_per-user-themes.adoc |   2 +-
 .../_ug_reference-annotations_aaa_main.adoc     |   4 +-
 ...ug_reference-annotations_manpage-Action.adoc |   2 +-
 ...ations_manpage-ActionLayout_bookmarking.adoc |   2 +-
 ...ions_manpage-ActionLayout_contributedAs.adoc |   6 +-
 ...notations_manpage-ActionLayout_cssClass.adoc |   9 +-
 ...tations_manpage-ActionLayout_cssClassFa.adoc |   5 +-
 ...ence-annotations_manpage-Action_command.adoc |   2 +-
 ...rence-annotations_manpage-Action_hidden.adoc |   2 +-
 ...tions_manpage-CollectionLayout_cssClass.adoc |   4 +-
 ...otations_manpage-Collection_domainEvent.adoc |   2 +-
 ...-annotations_manpage-DomainObjectLayout.adoc |   2 +-
 ..._manpage-DomainObjectLayout_bookmarking.adoc |   2 +-
 ...ons_manpage-DomainObjectLayout_cssClass.adoc |  12 +--
 ...s_manpage-DomainObjectLayout_cssClassFa.adoc |   4 +-
 ...tations_manpage-DomainObject_publishing.adoc |   8 +-
 ...nnotations_manpage-DomainService_nature.adoc |   5 +-
 ..._reference-annotations_manpage-HomePage.adoc |   2 +-
 ...nce-annotations_manpage-ParameterLayout.adoc |   2 +-
 ...ations_manpage-ParameterLayout_cssClass.adoc |   2 +-
 ...annotations_manpage-Parameter_maxLength.adoc |   1 +
 ...nce-annotations_manpage-Parameter_regex.adoc |  22 +++--
 ...tations_manpage-PropertyLayout_cssClass.adoc |   4 +-
 ...nnotations_manpage-Property_domainEvent.adoc |   4 +-
 ...ence-annotations_manpage-Property_regex.adoc |  10 ++-
 ...reference-annotations_manpage-ViewModel.adoc |   4 +-
 ...nce-annotations_manpage-ViewModelLayout.adoc |   2 +-
 ...ations_manpage-ViewModelLayout_cssClass.adoc |   2 +-
 ...ions_manpage-ViewModelLayout_cssClassFa.adoc |   5 +-
 ...-services-api_manpage-BackgroundService.adoc |  41 +++++----
 ...ce-services-api_manpage-BookmarkService.adoc |   4 +-
 ...ices-api_manpage-BulkInteractionContext.adoc |   4 +-
 ...nce-services-api_manpage-CommandContext.adoc |  83 ++++++++++++-------
 ...rence-services-api_manpage-EmailService.adoc |   6 +-
 ...ce-services-api_manpage-EventBusService.adoc |   2 +-
 ...nce-services-api_manpage-MementoService.adoc |  32 +++++--
 ...-services-api_manpage-QueryResultsCache.adoc |   2 +-
 ...ference-services-api_manpage-ScratchPad.adoc |  39 +++++----
 ...nce-services-api_manpage-WrapperFactory.adoc |   5 +-
 ...services-api_manpage-XmlSnapshotService.adoc |  59 +++++++------
 .../_ug_reference-services-spi_aaa.adoc         |   2 +-
 ...ce-services-spi_manpage-AuditingService.adoc |   6 +-
 ...es-spi_manpage-BackgroundCommandService.adoc |  20 +++--
 ...nce-services-spi_manpage-CommandService.adoc |  44 +++++-----
 ...es-spi_manpage-EmailNotificationService.adoc |  10 +--
 ...ervices-spi_manpage-ExceptionRecognizer.adoc |  17 ++--
 ...-services-spi_manpage-PublishingService.adoc |  50 +++++++----
 ...ces-spi_manpage-UserRegistrationService.adoc |   8 +-
 .../_ug_runtime_configuring-core.adoc           |   2 +-
 ...s_disabling-persistence-by-reachability.adoc |   2 +-
 .../main/asciidoc/user-guide/_ug_security.adoc  |   4 +-
 .../_ug_security_api-for-applications.adoc      |   4 +-
 .../_ug_security_shiro-jdbc-realm.adoc          |   2 +-
 .../_ug_security_usage-by-isis-viewers.adoc     |   2 +-
 .../asciidoc/user-guide/_ug_testing_aaa.adoc    |   4 +-
 ...g_testing_bdd-spec-support_how-it-works.adoc |   2 +-
 ...g_testing_fixture-scripts_api-and-usage.adoc |  12 +--
 ...ug_testing_fixture-scripts_sudo-service.adoc |   2 +-
 ...esting_integ-test-support_typical-usage.adoc |   4 +-
 ...ting_integ-test-support_wrapper-factory.adoc |   2 +-
 ...esting_unit-test-support_contract-tests.adoc |   7 +-
 ...ting_unit-test-support_jmock-extensions.adoc |   4 +-
 ...tutorials_stop-scaffolding-start-coding.adoc |   2 +-
 .../user-guide/_ug_wicket-viewer_layout.adoc    |   2 +-
 ...ket-viewer_layout_dynamic-object-layout.adoc |   4 +-
 .../fixture-scripts/prototyping-menu.png        | Bin 0 -> 59183 bytes
 .../src/main/asciidoc/user-guide/ug.adoc        |  44 +++++-----
 93 files changed, 536 insertions(+), 382 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/d85483af/adocs/documentation/src/main/asciidoc/user-guide/_ug_appendices_articles-and-presentations.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_appendices_articles-and-presentations.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_appendices_articles-and-presentations.adoc
index 8feb2eb..26abf57 100644
--- a/adocs/documentation/src/main/asciidoc/user-guide/_ug_appendices_articles-and-presentations.adoc
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_appendices_articles-and-presentations.adoc
@@ -101,7 +101,7 @@ Some articles and recorded material relating to either Apache Isis (or its prede
 
 .2+|2004
 |University College, Dublin
-|*Richard Pawson's link:resouces/core-concepts/Pawson-Naked-Objects-thesis.pdf[PhD thesis on Naked Objects]*
+|*Richard Pawson's link:resources/core-concepts/Pawson-Naked-Objects-thesis.pdf[PhD thesis on Naked Objects]*
 
 |Article series, TheServerSide
 |* Part 1 - http://www.theserverside.com/news/1365562/Part-1-The-Case-for-Naked-Objects-Getting-Back-to-the-Object-Oriented-Ideal[The Case for Naked Objects - Getting Back to the Object-Oriented Ideal]

http://git-wip-us.apache.org/repos/asf/isis/blob/d85483af/adocs/documentation/src/main/asciidoc/user-guide/_ug_appendices_migration-notes.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_appendices_migration-notes.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_appendices_migration-notes.adoc
index 3823e28..c5e12d4 100644
--- a/adocs/documentation/src/main/asciidoc/user-guide/_ug_appendices_migration-notes.adoc
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_appendices_migration-notes.adoc
@@ -264,7 +264,7 @@ under `<build>/<pluginManagement>/<plugins>`, add (or update) maven-enforcer-plu
 
 [TIP]
 ====
-The `-parameters` argument causes the Java compiler to capture the names of method parameters in the `.class` files.  Isis can be configured to use this, thereby avoiding the requirement to annotate every parameter with `@ParameterLayout(named=...)` or `@Named()`.  The necessary configuration is provided in an http://github.com/isisaddons/isis-metamodel-paraname8}[Isis addons' paraname8]  metamodel extension (non-ASF).
+The `-parameters` argument causes the Java compiler to capture the names of method parameters in the `.class` files.  Isis can be configured to use this, thereby avoiding the requirement to annotate every parameter with `@ParameterLayout(named=...)` or `@Named()`.  The necessary configuration is provided in an http://github.com/isisaddons/isis-metamodel-paraname8[Isis addons' paraname8]  metamodel extension (non-ASF).
 ====
 
 We also recommend that you add the `maven-enforcer-plugin` (if not used already).  Again, this resides under `<build>/<pluginManagement>/<plugins>`:

http://git-wip-us.apache.org/repos/asf/isis/blob/d85483af/adocs/documentation/src/main/asciidoc/user-guide/_ug_core-concepts_building-blocks.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_core-concepts_building-blocks.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_core-concepts_building-blocks.adoc
index c32a9c5..30a4f97 100644
--- a/adocs/documentation/src/main/asciidoc/user-guide/_ug_core-concepts_building-blocks.adoc
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_core-concepts_building-blocks.adoc
@@ -97,7 +97,7 @@ isis.services = employee.Employees,\
 
 This is quite rare, however; you will often want to use default implementations of domain services that are provided by the framework and so will not reside under this prefix.
 
-Examples of framework-provided services (as defined in the applib) can be found referenced from the main link:../../documentation.html[documentation] page. They include clock, auditing, publishing, exception handling, view model support, snapshots/mementos, and user/application settings management.
+Examples of framework-provided services (as defined in the applib) include clock, auditing, publishing, exception handling, view model support, snapshots/mementos, and user/application settings management; see the xref:_ug_reference-services-api[here] and _ug_reference-services-spi[here] for further details.
 
 === Service scopes
 
@@ -115,7 +115,8 @@ The CDI annotation `@javax.enterprise.context.RequestScoped` is used to indicate
  }
 ----
 
-The framework provides a number of request-scoped services; these can be found referenced from the main link:../../documentation.html[documentation] page. They include scratchpad service, query results caching, and support for co-ordinating bulk actions.
+The framework provides a number of request-scoped services, include a scratchpad service, query results caching, and support for co-ordinating bulk actions.  See xref:_ug_reference-services-api[here] and xref:_ug_reference-services-spi[here] for further details.
+
 
 === (Suppressing) contributed actions
 

http://git-wip-us.apache.org/repos/asf/isis/blob/d85483af/adocs/documentation/src/main/asciidoc/user-guide/_ug_core-concepts_philosophy_aop.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_core-concepts_philosophy_aop.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_core-concepts_philosophy_aop.adoc
index 5b00515..4c29dd2 100644
--- a/adocs/documentation/src/main/asciidoc/user-guide/_ug_core-concepts_philosophy_aop.adoc
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_core-concepts_philosophy_aop.adoc
@@ -25,9 +25,9 @@ What has all this to do with Apache Isis, then?
 
 Well, a different way to think of the naked objects pattern is that the visualization of a domain object within a UI is a cross-cutting concern.  By following certain very standard programming conventions that represent the _Apache Isis Programming Model_ (POJOs plus annotations), the framework is able to build a metamodel and from this can render your domain objects in a standard generic fashion.  That's a rather more interesting cross-cutting concern than boring old logging!
 
-Isis also draws heavily on the AOP concept of interceptors.  Whenever an object is rendered in the UI, it is filtered with respect to the user's permissions.  That is, if a user is not authorized to either view or perhaps modify an object, then this is applied transparently by the framework.  The http://github.com/isisaddons/isis-module-security}[Isis addons' security] module, mentioned previously, provides a rich user/role/permissions subdomain to use out of the box; but you can integrate with a different security mechanism if you have one already.
+Isis also draws heavily on the AOP concept of interceptors.  Whenever an object is rendered in the UI, it is filtered with respect to the user's permissions.  That is, if a user is not authorized to either view or perhaps modify an object, then this is applied transparently by the framework.  The http://github.com/isisaddons/isis-module-security[Isis addons' security] module, mentioned previously, provides a rich user/role/permissions subdomain to use out of the box; but you can integrate with a different security mechanism if you have one already.
 
-Another example of interceptors are the http://github.com/isisaddons/isis-module-command}[Isis addons' command] and http://github.com/isisaddons/isis-module-audit}[Isis addons' audit] modules.  The command module captures every user interaction that modifies the state of the system (the "cause" of a change) while the audit module captures every change to every object (the "effect" of a change).  Again, this is all transparent to the user.
+Another example of interceptors are the http://github.com/isisaddons/isis-module-command[Isis addons' command] and http://github.com/isisaddons/isis-module-audit[Isis addons' audit] modules.  The command module captures every user interaction that modifies the state of the system (the "cause" of a change) while the audit module captures every change to every object (the "effect" of a change).  Again, this is all transparent to the user.
 
 Apache Isis also has an internal event bus (you can switch between an underlying implementation of Gauva or Axon).  A domain event is fired whenever an object is interacted with, and this allows any subscribers to influence the operation (or even veto it).  This is a key mechanism in ensuring that Isis applications are maintainable, and we discuss it in depth in the section on  xref:_ug_more-advanced_decoupling[Decoupling].  But fundamentally its relying on this AOP concept of interceptors.
 

http://git-wip-us.apache.org/repos/asf/isis/blob/d85483af/adocs/documentation/src/main/asciidoc/user-guide/_ug_core-concepts_philosophy_naked-objects-pattern.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_core-concepts_philosophy_naked-objects-pattern.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_core-concepts_philosophy_naked-objects-pattern.adoc
index 6eea8da..646ab6a 100644
--- a/adocs/documentation/src/main/asciidoc/user-guide/_ug_core-concepts_philosophy_naked-objects-pattern.adoc
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_core-concepts_philosophy_naked-objects-pattern.adoc
@@ -35,21 +35,16 @@ One of the external examiners for Richard's PhD was link:http://en.wikipedia.org
 
 Reenskaug then goes on to say that "this simple and powerful idea failed because ... users were used to seeing [objects] from different perspectives. The visible and tangible object would get very complex if it should be able to show itself and be manipulated in many different ways."
 
-In Apache Isis the responsibility of rendering an object is not the object itself, it is the framework.  Rather, the object inspects the object and uses that to decide how to render the object.  This is also extensible.  In the http://isisaddons.org[Isis Addons] (non-ASF) the http://github.com/isisaddons/isis-wicket-gmap3}[Isis addons' gmap3 modue] renders any object with latitude/longitude on a map, while http://github.com/isisaddons/isis-wicket-fullcalendar2}[Isis addons' fullcalendar2 wicket extension] renders any object with date(s) on a calendar.
+In Apache Isis the responsibility of rendering an object is not the object itself, it is the framework.  Rather, the object inspects the object and uses that to decide how to render the object.  This is also extensible.  In the http://isisaddons.org[Isis Addons] (non-ASF) the http://github.com/isisaddons/isis-wicket-gmap3[Isis addons' gmap3] wicket extension renders any object with latitude/longitude on a map, while http://github.com/isisaddons/isis-wicket-fullcalendar2[Isis addons' fullcalendar2 wicket extension] renders any object with date(s) on a calendar.
 ====
 
 
 
-
-
 include::_ug_core-concepts_philosophy_naked-objects-pattern_object-interface-mapping.adoc[leveloffset=+1]
 
 
 
 
-
-
-
 == What this means in practice
 
 The screencast below shows what all of this means in practice, showing the relationship between a running app and the actual code underneath.

http://git-wip-us.apache.org/repos/asf/isis/blob/d85483af/adocs/documentation/src/main/asciidoc/user-guide/_ug_core-concepts_philosophy_naked-objects-pattern_object-interface-mapping.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_core-concepts_philosophy_naked-objects-pattern_object-interface-mapping.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_core-concepts_philosophy_naked-objects-pattern_object-interface-mapping.adoc
index 2bf7467..eb49565 100644
--- a/adocs/documentation/src/main/asciidoc/user-guide/_ug_core-concepts_philosophy_naked-objects-pattern_object-interface-mapping.adoc
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_core-concepts_philosophy_naked-objects-pattern_object-interface-mapping.adoc
@@ -7,7 +7,7 @@
 
 Another -- more technical -- way to think about the naked objects pattern is as an _object interface mapper_, or `OIM`.  We sometimes use this idea to explain naked objects to a bunch of developers.
 
-Just as an ORM (such as link:http://datanucleus.org[DataNucleus] or link:http:hibernate.org[Hibernate]) maps domain entities to a database, you can think of the naked objects pattern as representing the concept of mapping domain objects to a user interface.
+Just as an ORM (such as link:http://datanucleus.org[DataNucleus] or link:http://hibernate.org[Hibernate]) maps domain entities to a database, you can think of the naked objects pattern as representing the concept of mapping domain objects to a user interface.
 
 This is the way that the link:http://metawidget.org/[MetaWidget] team, in particular Richard Kennard, the primary contributor, likes to describe their tool.  MetaWidget has a number of ideas in common with Apache Isis, specifically the runtime generation of a UI for domain objects.  You can hear more from Kennard and others on this http://devchat.tv/js-jabber/150-jsj-oims[Javascript Jabber podcast].
 

http://git-wip-us.apache.org/repos/asf/isis/blob/d85483af/adocs/documentation/src/main/asciidoc/user-guide/_ug_core-concepts_principles_apache-isis-vs_metawidget.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_core-concepts_principles_apache-isis-vs_metawidget.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_core-concepts_principles_apache-isis-vs_metawidget.adoc
index 48b4a6b..931479a 100644
--- a/adocs/documentation/src/main/asciidoc/user-guide/_ug_core-concepts_principles_apache-isis-vs_metawidget.adoc
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_core-concepts_principles_apache-isis-vs_metawidget.adoc
@@ -1,4 +1,5 @@
-[[_ug_core-concepts_principles_apache-isis-vs_metawidget]]= vs MetaWidget
+[[_ug_core-concepts_principles_apache-isis-vs_metawidget]]
+= vs MetaWidget
 :Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR  CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
 :_basedir: ../
 :_imagesdir: images/

http://git-wip-us.apache.org/repos/asf/isis/blob/d85483af/adocs/documentation/src/main/asciidoc/user-guide/_ug_core-concepts_principles_apache-isis-vs_mvc-server-side-frameworks.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_core-concepts_principles_apache-isis-vs_mvc-server-side-frameworks.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_core-concepts_principles_apache-isis-vs_mvc-server-side-frameworks.adoc
index 8bf15fe..dd12a31 100644
--- a/adocs/documentation/src/main/asciidoc/user-guide/_ug_core-concepts_principles_apache-isis-vs_mvc-server-side-frameworks.adoc
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_core-concepts_principles_apache-isis-vs_mvc-server-side-frameworks.adoc
@@ -12,8 +12,8 @@ These frameworks all use the classic  *model-view-controller* ( _MVC_) pattern f
 
 The most obvious difference when developing an Apache Isis application is its deliberate lack of an explicit controller layer; non- _CRUD_ behavior is automatically made available in its generic object-oriented  _UI_s.  More sophisticated UIs can be built either by xref:_ug_extending_wicket-viewer[extending Isis' Wicket viewer] or by writing a bespoke UI leveraging the REST (hypermedia) API automatically exposed by xref:_ug_restfulobjects-viewer[Isis' Restful Objects viewer].  Other frameworks can also be used to implement REST APIs, of course, but generally they require a significant amount of development to get anywhere near the level of sophistication provided automatically by Isis' REST API.
 
-Although these frameworks all provide their own ecosystems of extensions, Isis' equivalent http://isisaddons.org[Isis Addons] (non-ASF) tend to work at a higher-level of abstraction.  For example, each of these frameworks will integrate with various security mechanism, but the http://github.com/isisaddons/isis-module-security}[Isis addons' security module] provides a full subdomain of users, roles, features and permissions that can be plugged into any Isis application.  Similarly, the http://github.com/isisaddons/isis-module-command}[Isis addons' command] and http://github.com/isisaddons/isis-module-audit}[Isis addons' audit] modules in combination provide a support for auditing and traceability that can also be used for out of the box profiling.  Again, these addons can be plugged into any Isis app.
+Although these frameworks all provide their own ecosystems of extensions, Isis' equivalent http://isisaddons.org[Isis Addons] (non-ASF) tend to work at a higher-level of abstraction.  For example, each of these frameworks will integrate with various security mechanism, but the http://github.com/isisaddons/isis-module-security[Isis addons' security module] provides a full subdomain of users, roles, features and permissions that can be plugged into any Isis application.  Similarly, the http://github.com/isisaddons/isis-module-command[Isis addons' command] and http://github.com/isisaddons/isis-module-audit[Isis addons' audit] modules in combination provide a support for auditing and traceability that can also be used for out of the box profiling.  Again, these addons can be plugged into any Isis app.
 
-In terms of testing support, each of these other frameworks provide mechanisms to allow the webapp to be tested from within a JUnit test harness. Isis' support is similar.  Where Isis differs though is that it enables end-to-end testing without the need for slow and fragile Selenium tests. Instead, Isis provides a "xref:_ug_testing_integ-test-support_wrapper-factory[WrapperFactory]" domain service that allows the generic UI provided to in essence be simulated. On a more pragmatic level, the http://github.com/isisaddons/isis-module-fakedata}[Isis addons' fakedata] module does "what it says on the tin", allowing both unit- and integration-tests to focus on the salient data and fake out the rest.
+In terms of testing support, each of these other frameworks provide mechanisms to allow the webapp to be tested from within a JUnit test harness. Isis' support is similar.  Where Isis differs though is that it enables end-to-end testing without the need for slow and fragile Selenium tests. Instead, Isis provides a "xref:_ug_testing_integ-test-support_wrapper-factory[WrapperFactory]" domain service that allows the generic UI provided to in essence be simulated. On a more pragmatic level, the http://github.com/isisaddons/isis-module-fakedata[Isis addons' fakedata] module does "what it says on the tin", allowing both unit- and integration-tests to focus on the salient data and fake out the rest.
 
 

http://git-wip-us.apache.org/repos/asf/isis/blob/d85483af/adocs/documentation/src/main/asciidoc/user-guide/_ug_deployment.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_deployment.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_deployment.adoc
index 5db712b..97e9e8b 100644
--- a/adocs/documentation/src/main/asciidoc/user-guide/_ug_deployment.adoc
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_deployment.adoc
@@ -8,6 +8,7 @@ This chapter provides guidance on some common deployment scenarios.
 
 include::_ug_deployment_cmd-line.adoc[leveloffset=+1]
 include::_ug_deployment_tomcat.adoc[leveloffset=+1]
+include::_ug_deployment_externalized-configuration.adoc[leveloffset=+1]
 include::_ug_deployment_gae.adoc[leveloffset=+1]
 include::_ug_deployment_neo4j.adoc[leveloffset=+1]
 include::_ug_deployment_jvm-flags.adoc[leveloffset=+1]

http://git-wip-us.apache.org/repos/asf/isis/blob/d85483af/adocs/documentation/src/main/asciidoc/user-guide/_ug_deployment_externalized-configuration.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_deployment_externalized-configuration.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_deployment_externalized-configuration.adoc
new file mode 100644
index 0000000..f710b30
--- /dev/null
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_deployment_externalized-configuration.adoc
@@ -0,0 +1,9 @@
+[[_ug_deployment_externalized-configuration]]
+= Externalized Configuration
+:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR  CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
+:_basedir: ../
+:_imagesdir: images/
+
+IMPORTANT: TODO
+
+

http://git-wip-us.apache.org/repos/asf/isis/blob/d85483af/adocs/documentation/src/main/asciidoc/user-guide/_ug_deployment_gae.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_deployment_gae.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_deployment_gae.adoc
index ee2fa51..66cee87 100644
--- a/adocs/documentation/src/main/asciidoc/user-guide/_ug_deployment_gae.adoc
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_deployment_gae.adoc
@@ -52,7 +52,7 @@ We still need to try out Andy's recipe, above.
 
 === A GAE compatible version of `ToDoItem.java`
 
-... as per the http://github.com/isisaddons/isis-app-todoapp}[Isis addons' todoapp] (non-ASF), is as follows:
+... as per the http://github.com/isisaddons/isis-app-todoapp[Isis addons' todoapp] (non-ASF), is as follows:
 
 [source,java]
 ----

http://git-wip-us.apache.org/repos/asf/isis/blob/d85483af/adocs/documentation/src/main/asciidoc/user-guide/_ug_deployment_jvm-flags.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_deployment_jvm-flags.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_deployment_jvm-flags.adoc
index cce88ab..531d100 100644
--- a/adocs/documentation/src/main/asciidoc/user-guide/_ug_deployment_jvm-flags.adoc
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_deployment_jvm-flags.adoc
@@ -7,7 +7,7 @@
 IMPORTANT: TODO
 
 
-for the `WrapperFactory` (uses link:http://www.csg.ci.i.u-tokyo.ac.jp/~chiba/javassist/[Javassist])
+for the `WrapperFactory` (uses link:http://www.javassist.org[Javassist])
 
 using:
 

http://git-wip-us.apache.org/repos/asf/isis/blob/d85483af/adocs/documentation/src/main/asciidoc/user-guide/_ug_deployment_neo4j.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_deployment_neo4j.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_deployment_neo4j.adoc
index 53181bf..4ffd2aa 100644
--- a/adocs/documentation/src/main/asciidoc/user-guide/_ug_deployment_neo4j.adoc
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_deployment_neo4j.adoc
@@ -10,7 +10,7 @@ The xref:_ug_getting-started_simpleapp-archetype[SimpleApp archetype] has been u
 
 [TIP]
 ====
-In addition, the http://github.com/isisaddons/isis-app-neoapp}[Isis addons' neoapp] (non-ASF) is configured to run with an embedded Neo4J server running alongside the Isis webapp.
+In addition, the http://github.com/isisaddons/isis-app-neoapp[Isis addons' neoapp] (non-ASF) is configured to run with an embedded Neo4J server running alongside the Isis webapp.
 ====
 
 The steps below describe the configuration steps required to update an existing app.

http://git-wip-us.apache.org/repos/asf/isis/blob/d85483af/adocs/documentation/src/main/asciidoc/user-guide/_ug_extending_wicket-viewer_custom-pages.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_extending_wicket-viewer_custom-pages.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_extending_wicket-viewer_custom-pages.adoc
index 9dfaf74..c26296c 100644
--- a/adocs/documentation/src/main/asciidoc/user-guide/_ug_extending_wicket-viewer_custom-pages.adoc
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_extending_wicket-viewer_custom-pages.adoc
@@ -6,7 +6,7 @@
 
 
 
-In the vast majority of cases customization should be sufficient by link:./customizing-the-viewer.html[replacing elements of a page]. However, it is also possible to define an entirely new page for a given page type.
+In the vast majority of cases customization should be sufficient by xref:_ug_extending_wicket-viewer_replacing-page-elements[replacing elements of a page]. However, it is also possible to define an entirely new page for a given page type.
 
 Isis defines eight page types (see the `org.apache.isis.viewer.wicket.model.models.PageType` enum):
 

http://git-wip-us.apache.org/repos/asf/isis/blob/d85483af/adocs/documentation/src/main/asciidoc/user-guide/_ug_extending_wicket-viewer_replacing-page-elements.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_extending_wicket-viewer_replacing-page-elements.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_extending_wicket-viewer_replacing-page-elements.adoc
index 02aebaf..19d7aef 100644
--- a/adocs/documentation/src/main/asciidoc/user-guide/_ug_extending_wicket-viewer_replacing-page-elements.adoc
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_extending_wicket-viewer_replacing-page-elements.adoc
@@ -6,7 +6,7 @@
 
 
 
-Replacing elements of the page is the most powerful general-purpose way to customize the look-n-feel of the viewer.  Examples at http://www.isisaddons.org[Isis Add-ons] include the link:isisaddons/isis-wicket-gmap3.html[gmap3], link:isisaddons/isis-wicket-fullcalendar2.html[calendar], link:isisaddons/isis-wicket-excel.html[excel download] and link:isisaddons/isis-wicket-wickedcharts.html[charting] integrations.
+Replacing elements of the page is the most powerful general-purpose way to customize the look-n-feel of the viewer.  Examples at the (non-ASF) http://www.isisaddons.org[Isis Add-ons] include the http://github.com/isisaddons/isis-wicket-gmap3[gmap3] extension, the http://github.com/isisaddons/isis-wicket-fullcalendar2[calendar] extension, the http://github.com/isisaddons/isis-wicket-excel[excel download] and the http://github.com/isisaddons/isis-wicket-wickedcharts[wickedcharts] charting integration.
 
 The pages generated by Isis' Wicket viewer are built up of numerous elements, from fine-grained widgets for property/parameter fields, to much larger components that take responsibility for rendering an entire entity entity, or a collection of entities. Under the covers these are all implementations of the the Apache Wicket `Component` API. The larger components delegate to the smaller, of course.
 

http://git-wip-us.apache.org/repos/asf/isis/blob/d85483af/adocs/documentation/src/main/asciidoc/user-guide/_ug_getting-started_simpleapp-archetype.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_getting-started_simpleapp-archetype.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_getting-started_simpleapp-archetype.adoc
index 3e20c77..a891952 100644
--- a/adocs/documentation/src/main/asciidoc/user-guide/_ug_getting-started_simpleapp-archetype.adoc
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_getting-started_simpleapp-archetype.adoc
@@ -68,7 +68,7 @@ where as before:
 but also:
 
 - `archetypeVersion` is the SNAPSHOT version of Isis.
-- `archetypeRepository` specifies the location of our snapshot repo (hosted on [CloudBees](http://www.cloudbees.com)), and
+- `archetypeRepository` specifies the location of our snapshot repo (hosted on link:http://www.cloudbees.com[CloudBees]), and
 
 The archetype generation process will then run; it only takes a few seconds.
 

http://git-wip-us.apache.org/repos/asf/isis/blob/d85483af/adocs/documentation/src/main/asciidoc/user-guide/_ug_how-tos_class-structure_collections.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_how-tos_class-structure_collections.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_how-tos_class-structure_collections.adoc
index 1e25f9f..c89a38a 100644
--- a/adocs/documentation/src/main/asciidoc/user-guide/_ug_how-tos_class-structure_collections.adoc
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_how-tos_class-structure_collections.adoc
@@ -21,59 +21,7 @@ Another workaround is to wrap each value in a view model, as explained in this x
 
 
 
-== Managed 1-m bidirectional relationships
 
-When an object is added to a 1:m bidirectional relationship, the child object must refer to the parent and the child must be added to the parent's children collection.
-
-If there were no database involved then we would have recommended that you use the link:http://www.two-sdg.demon.co.uk/curbralan/papers/MutualRegistration.pdf[mutual registration] pattern to ensure that both the parent and child are updated correctly.
-
-[TIP]
-====
-The `modifyXxx()` and `clearXxx()` supporting methods were introduced in the framework primarily to help support implement the mutual registration pattern.  This dates from
-====
-
-However, in a relational database, these two operations in the domain object model correspond simply to updating the foreign key of the child table to reference the parent's primary key.
-
-So long as the parent's children collection is a `java.util.Set` (rather than a `Collection` or a `List`), the JDO Objectstore will automatically maintain both sides of the relationship. All that is necessary is to set the child to refer to the parent.
-
-For example, all you need write is:
-
-[source,java]
-----
-public class Department {
-    @javax.jdo.annotations.Persistent(mappedBy="department") // <1>
-    private SortedSet<Employee> employees = new TreeSet<Employee>();
-
-    public SortedSet<Employee> getEmployees() { ... }
-    public void setEmployees(SortedSet<Employee> employees) { ... }
-    ...
-}
-
-public class Employee {
-    private Department department;
-    public Department getDepartment() { ... }
-    public void setDepartment(Department department) { ... }
-    ...
-}
-----
-<1> it's the `mappedBy` attribute that tells DataNucleus this is a bidirectional relationship.  The value "department" refers to the Employee#department property.
-
-Moreover, when maintaining a bidirectional 1-n relationship that is automatically managed by DataNucleus, it's preferred to "add" to the parent's child collection, don't set the parent on the child.
-
-[WARNING]
-====
-If you don't do this then you may (as of Isis 1.4.1) hit an NullPointerException. This may be a bug in DataNucleus, we are not completely sure, but the above idiom seems to fix the issue.
-
-For more information, see http://isis.markmail.org/thread/ipu2lzqqikqdglox[this thread] on the Isis users mailing list, including this http://markmail.org/message/hblptpw675mlw723[message] with the above recommendation.
-====
-
-[WARNING]
-====
-In fact, not only do you not need to manually maintain the relationship, we have noted on at least http://markmail.org/message/agnwmzocvdfht32f[one occasion] a subtle error if the code is programmatically added.
-
-The error in that case was that the same object was contained in the parents collection. This of course should not happen for a `TreeSet`. However, JDO/DataNucleus replaces the `TreeSet` with its own implementation, and (either by design or otherwise) this does not enforce `Set` semantics.
-
-The upshot is that you should NEVER programmatically add the child object to the parent's collection if using JDO Objectstore.
-====
+include::_ug_how-tos_class-structure_collections_managed-1-to-m-bidirectional-relationships.adoc[leveloffset=+1]
 
 

http://git-wip-us.apache.org/repos/asf/isis/blob/d85483af/adocs/documentation/src/main/asciidoc/user-guide/_ug_how-tos_class-structure_collections_managed-1-to-m-bidirectional-relationships.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_how-tos_class-structure_collections_managed-1-to-m-bidirectional-relationships.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_how-tos_class-structure_collections_managed-1-to-m-bidirectional-relationships.adoc
new file mode 100644
index 0000000..d8c4cf5
--- /dev/null
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_how-tos_class-structure_collections_managed-1-to-m-bidirectional-relationships.adoc
@@ -0,0 +1,64 @@
+[[_ug_how-tos_class-structure_collections_managed-1-to-m-bidirectional-relationships]]
+= Managed 1-m bidirectional relationships
+:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR  CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
+:_basedir: ../
+:_imagesdir: images/
+
+
+
+When an object is added to a 1:m bidirectional relationship, the child object must refer to the parent and the child must be added to the parent's children collection.
+
+If there were no database involved then we would have recommended that you use the link:http://www.two-sdg.demon.co.uk/curbralan/papers/MutualRegistration.pdf[mutual registration] pattern to ensure that both the parent and child are updated correctly.
+
+[TIP]
+====
+The `modifyXxx()` and `clearXxx()` supporting methods were introduced in the framework primarily to help support implement the mutual registration pattern.  This dates from
+====
+
+However, in a relational database, these two operations in the domain object model correspond simply to updating the foreign key of the child table to reference the parent's primary key.
+
+So long as the parent's children collection is a `java.util.Set` (rather than a `Collection` or a `List`), the JDO Objectstore will automatically maintain both sides of the relationship. All that is necessary is to set the child to refer to the parent.
+
+For example, all you need write is:
+
+[source,java]
+----
+public class Department {
+    @javax.jdo.annotations.Persistent(mappedBy="department") // <1>
+    private SortedSet<Employee> employees = new TreeSet<Employee>();
+
+    public SortedSet<Employee> getEmployees() { ... }
+    public void setEmployees(SortedSet<Employee> employees) { ... }
+    ...
+}
+
+public class Employee {
+    private Department department;
+    public Department getDepartment() { ... }
+    public void setDepartment(Department department) { ... }
+    ...
+}
+----
+<1> it's the `mappedBy` attribute that tells DataNucleus this is a bidirectional relationship.  The value "department" refers to the Employee#department property.
+
+Moreover, when maintaining a bidirectional 1-n relationship that is automatically managed by DataNucleus, it's preferred to "add" to the parent's child collection, don't set the parent on the child.
+
+
+[WARNING]
+====
+If you don't do this then you may (as of Isis 1.4.1) hit an NullPointerException. This may be a bug in DataNucleus, we are not completely sure, but the above idiom seems to fix the issue.
+
+For more information, see http://isis.markmail.org/thread/ipu2lzqqikqdglox[this thread] on the Isis users mailing list, including this http://markmail.org/message/hblptpw675mlw723[message] with the above recommendation.
+====
+
+
+[WARNING]
+====
+In fact, not only do you not need to manually maintain the relationship, we have noted on at least http://markmail.org/message/agnwmzocvdfht32f[one occasion] a subtle error if the code is programmatically added.
+
+The error in that case was that the same object was contained in the parents collection. This of course should not happen for a `TreeSet`. However, JDO/DataNucleus replaces the `TreeSet` with its own implementation, and (either by design or otherwise) this does not enforce `Set` semantics.
+
+The upshot is that you should NEVER programmatically add the child object to the parent's collection if using JDO Objectstore.
+====
+
+

http://git-wip-us.apache.org/repos/asf/isis/blob/d85483af/adocs/documentation/src/main/asciidoc/user-guide/_ug_how-tos_class-structure_properties.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_how-tos_class-structure_properties.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_how-tos_class-structure_properties.adoc
index a162df2..fa1576e 100644
--- a/adocs/documentation/src/main/asciidoc/user-guide/_ug_how-tos_class-structure_properties.adoc
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_how-tos_class-structure_properties.adoc
@@ -124,6 +124,7 @@ IMPORTANT: TODO
 
 
 
+[[_ug_how-tos_class-structure_properties_mapping-joda-dates]]
 == Mapping JODA Dates
 
 Isis' JDO objectstore bundles DataNucleus' http://www.datanucleus.org/documentation/products/plugins.html[built-in support] for Joda `LocalDate` and `LocalDateTime` datatypes, meaning that entity properties of these types will be persisted as appropriate data types in the database tables.
@@ -190,7 +191,7 @@ More information can be found http://www.opentaps.org/docs/index.php/How_to_Use_
 
 Apache Isis configures JDO/DataNucleus so that the properties of type `org.apache.isis.applib.value.Blob` and `org.apache.isis.applib.value.Clob` can also be persisted.
 
-As for link:mapping-joda-dates.html[Joda dates], this requires the `@javax.jdo.annotations.Persistent` annotation. However, whereas for dates one would always expect this value to be retrieved eagerly, for blobs and clobs it is not so clear cut.
+As for xref:_ug_how-tos_class-structure_properties_mapping-joda-dates[Joda dates], this requires the `@javax.jdo.annotations.Persistent` annotation. However, whereas for dates one would always expect this value to be retrieved eagerly, for blobs and clobs it is not so clear cut.
 
 === Mapping Blobs
 

http://git-wip-us.apache.org/repos/asf/isis/blob/d85483af/adocs/documentation/src/main/asciidoc/user-guide/_ug_how-tos_crud.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_how-tos_crud.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_how-tos_crud.adoc
index 373666f..ee4732c 100644
--- a/adocs/documentation/src/main/asciidoc/user-guide/_ug_how-tos_crud.adoc
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_how-tos_crud.adoc
@@ -14,7 +14,7 @@ IMPORTANT: TODO
 
 ### Using DataNucleus type-safe queries
 
-as per http://github.com/isisaddons/isis-app-todoapp}[Isis addons' todoapp] (non-ASF)
+as per http://github.com/isisaddons/isis-app-todoapp[Isis addons' todoapp] (non-ASF)
 
 ## Deleting Objects
 

http://git-wip-us.apache.org/repos/asf/isis/blob/d85483af/adocs/documentation/src/main/asciidoc/user-guide/_ug_how-tos_ui-hints_action-icons-and-css.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_how-tos_ui-hints_action-icons-and-css.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_how-tos_ui-hints_action-icons-and-css.adoc
index e4fc943..659faab 100644
--- a/adocs/documentation/src/main/asciidoc/user-guide/_ug_how-tos_ui-hints_action-icons-and-css.adoc
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_how-tos_ui-hints_action-icons-and-css.adoc
@@ -5,7 +5,7 @@
 :_imagesdir: images/
 
 
-Apache Isis allows link:fortawesome.github.io/Font-Awesome/icons/[font awesome] icons to be associated with each action, and for link:http://getbootstrap.com/css/#buttons[Bootstrap CSS] to be applied to action rendered as buttons.
+Apache Isis allows link:http://fortawesome.github.io/Font-Awesome/icons/[font awesome] icons to be associated with each action, and for link:http://getbootstrap.com/css/#buttons[Bootstrap CSS] to be applied to action rendered as buttons.
 
 These UI hint can be applied either to individual actions, or can be applied en-masse using pattern matching.
 
@@ -41,7 +41,7 @@ isis.reflector.facet.cssClassFa.patterns=\
                         run.*:fa-bolt
 ----
 
-where the key is a regex matching action names (eg `create.*`) and the value is a link:fortawesome.github.io/Font-Awesome/icons/[font-awesome] icon name (eg `fa-plus`) to be applied (as per `@CssClassFa()`) to all action members matching the regex.
+where the key is a regex matching action names (eg `create.*`) and the value is a link:http://fortawesome.github.io/Font-Awesome/icons/[font-awesome] icon name (eg `fa-plus`) to be applied (as per `@CssClassFa()`) to all action members matching the regex.
 
 Similarly, the `isis.reflector.facet.cssClass.patterns` is a comma separated list of key:value pairs, eg:
 

http://git-wip-us.apache.org/repos/asf/isis/blob/d85483af/adocs/documentation/src/main/asciidoc/user-guide/_ug_how-tos_ui-hints_names-and-descriptions.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_how-tos_ui-hints_names-and-descriptions.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_how-tos_ui-hints_names-and-descriptions.adoc
index 7c80136..896f6aa 100644
--- a/adocs/documentation/src/main/asciidoc/user-guide/_ug_how-tos_ui-hints_names-and-descriptions.adoc
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_how-tos_ui-hints_names-and-descriptions.adoc
@@ -34,7 +34,7 @@ Use `@ParameterLayout(named=...)` or `@Named(...)`
 
 [TIP]
 ====
-If you're running on Java 8, then note that it's possible to write Isis applications without using `@ParameterLayout(named=...)` annotation.  Support for this can be found in the http://github.com/isisaddons/isis-metamodel-paraname8}[Isis addons' paraname8] metamodel extension (non-ASF).  (In the future we'll fold this into core).  See also our guidance on xref:_upgrading_to_java_8_1_9_0_snapshot_and_later[upgrading to Java 8].
+If you're running on Java 8, then note that it's possible to write Isis applications without using `@ParameterLayout(named=...)` annotation.  Support for this can be found in the link:http://github.com/isisaddons/isis-metamodel-paraname8[Isis addons' paraname8] metamodel extension (non-ASF).  (In the future we'll fold this into core).  See also our guidance on xref:_upgrading_to_java_8_1_9_0_snapshot_and_later[upgrading to Java 8].
 ====
 
 

http://git-wip-us.apache.org/repos/asf/isis/blob/d85483af/adocs/documentation/src/main/asciidoc/user-guide/_ug_isis-addons-modules.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_isis-addons-modules.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_isis-addons-modules.adoc
index b5d2b95..ea9658c 100644
--- a/adocs/documentation/src/main/asciidoc/user-guide/_ug_isis-addons-modules.adoc
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_isis-addons-modules.adoc
@@ -19,22 +19,25 @@ The modules themselves fall into four broad groups:
 
 * modules that provide an implementations of API defined by Apache Isis +
 +
-where Isis has hooks to use the service if defined by provides no implementations of its own.  The http://github.com/isisaddons/isis-module-command}[command], http://github.com/isisaddons/isis-module-auditing}[auditing], http://github.com/isisaddons/isis-module-publishing}[publishing], http://github.com/isisaddons/isis-module-security}[security]  and http://github.com/isisaddons/isis-module-sessionlogger}[sessionlogger] modules fall into this category.  Typically the domain objects themselves wouldn't interact with these services
+where Isis has hooks to use the service if defined by provides no implementations of its own.  The http://github.com/isisaddons/isis-module-command[command], http://github.com/isisaddons/isis-module-audit[auditing], http://github.com/isisaddons/isis-module-publishing[publishing], http://github.com/isisaddons/isis-module-security[security]  and http://github.com/isisaddons/isis-module-sessionlogger[sessionlogger] modules fall into this category.  Typically the domain objects themselves wouldn't interact with these services
 
 * modules that provide standalone domain services with their own API and implementation +
 +
-These are simply intended to be used by domain objects.  The http://github.com/isisaddons/isis-module-docx}[docx], http://github.com/isisaddons/isis-module-excel}[excel], http://github.com/isisaddons/isis-module-settings}[settings] and http://github.com/isisaddons/isis-module-stringinterpolator}[stringinterpolator] fall into this category.
+These are simply intended to be used by domain objects.  The http://github.com/isisaddons/isis-module-docx[docx], http://github.com/isisaddons/isis-module-excel[excel], http://github.com/isisaddons/isis-module-settings[settings] and http://github.com/isisaddons/isis-module-stringinterpolator[stringinterpolator] fall into this category.
 
 * modules that provide standalone domain entities (and supporting services) for a particular subdomain +
 +
-The http://github.com/isisaddons/isis-module-tags}[tags] module falls into this category
+The http://github.com/isisaddons/isis-module-tags[tags] module falls into this category
 
 * modules that provide developer utilities +
 +
-Not intended for use by either the framework or domain objects, but provide utilities that the developer themselves might use.  The http://github.com/isisaddons/isis-module-devutils}[devutils] module (not suprisingly) falls into this category
+Not intended for use by either the framework or domain objects, but provide utilities that the developer themselves might use.  The http://github.com/isisaddons/isis-module-devutils[devutils] module (not suprisingly) falls into this category
 
 Each of the modules has a full README and example application demonstrating their usage.  The sections below briefly outline the capabilities of these modules.
 
+
+
+
 == Command Service (persistence)
 
 IMPORTANT: TODO
@@ -44,6 +47,7 @@ IMPORTANT: TODO
 
 
 
+
 == Background Command Service
 
 IMPORTANT: TODO
@@ -76,7 +80,7 @@ IMPORTANT: TODO
 
 Isis' PublishingService API also has a companion API, the `EventSerializer`.  This provides a pluggable mechanism by which the event can be rendered into different formats.
 
-The http://github.com/isisaddons/isis-module-publishing}[Isis addons' publishing] module provides an implementation of this API -- `RestfulObjectsSpecEventSerializer` -- that reuses part of the implementation of the Restful Objects viewer to serialize the the provided `EventPayload` into the form specified by the http://restfulobjects.org[Restful Objects spec].
+The http://github.com/isisaddons/isis-module-publishing[Isis addons' publishing] module provides an implementation of this API -- `RestfulObjectsSpecEventSerializer` -- that reuses part of the implementation of the Restful Objects viewer to serialize the the provided `EventPayload` into the form specified by the http://restfulobjects.org[Restful Objects spec].
 
 For example, this is the JSON generated on an action invocation:
 

http://git-wip-us.apache.org/repos/asf/isis/blob/d85483af/adocs/documentation/src/main/asciidoc/user-guide/_ug_isis-addons-modules_devutils-module.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_isis-addons-modules_devutils-module.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_isis-addons-modules_devutils-module.adoc
index 6e98bc7..593789a 100644
--- a/adocs/documentation/src/main/asciidoc/user-guide/_ug_isis-addons-modules_devutils-module.adoc
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_isis-addons-modules_devutils-module.adoc
@@ -5,14 +5,18 @@
 :_imagesdir: images/
 
 
-
-{note
+[NOTE]
+====
 In 1.6.0 this implementation was released as part of _org.apache.isis.core:isis-module-devutils-jdo:1.6.0_ and was also released as an http://github.com/isisaddons/isis-module-devutils[Isis addon] module. *In 1.7.0+ only the http://github.com/isisaddons/isis-module-devutils[Isis addon] implementation is released.*
-}
+====
+
+
+The `DeveloperUtilitiesService` service provides a number of development-time utilities, mostly related to accessing/interacting with the Isis metamodel. These are visible in the UI, either as menu actions or as contributed actions. All actions are annotated with xref:_ug_reference-annotations_manpage_Action_restrictTo[`@Action#restrictTo()`] to restrict to prototype mode (suppressed from production mode).
+
+
 
-The `DeveloperUtilitiesService` service provides a number of development-time utilities, mostly related to accessing/interacting with the Isis metamodel. These are visible in the UI, either as menu actions or as contributed actions. All actions are annotated with link:../recognized-annotations/Prototype-deprecated.html[@Prototype], so are suppressed in link:../deployment-type.html[production mode].
 
-=== API
+== API
 
 The API defined by `DeveloperUtilitiesService` (some annotations omitted) is:
 
@@ -44,7 +48,7 @@ The developer can then review the metadata that has Isis has captured about each
 
 * `downloadLayouts()` allows the developer can download a ZIP file of `Xxx.layout.json` files for each domain type in the Isis metamodel.
 
-This is useful if converting a domain model to use link:../../components/viewers/wicket/dynamic-layouts.html[dynamic layouts].
+This is useful if converting a domain model to use xref:_ug_wicket-viewer_layout_dynamic-object-layout[dynamic layouts].
 
 * `downloadLayout()` (contributed action) allows the developer can download the `Xxx.layout.json` for an individual object
 
@@ -52,21 +56,19 @@ This is useful if converting a domain model to use link:../../components/viewers
 
 `refreshServices()` allows the developer to rebuild the Isis metamodel of all domain services. This is particularly useful for picking up changes to link:../../more-advanced-topics/how-to-01-062-How-to-decouple-dependencies-using-contributions.html[contributed actions]
 
-The `refreshLayout()` (which rebuild the Isis metamodel of the current object so that the UI refreshes) has been deprecated and hidden; the link:../../components/viewers/wicket/about.html[Wicket viewer]) (when running in prototype mode) now automatically does this does this.
+The `refreshLayout()` (which rebuild the Isis metamodel of the current object so that the UI refreshes) has been deprecated and hidden; the xref:_ug_wicket-viewer[Wicket viewer]) (when running in prototype mode) now automatically does this does this.
 
-=== Implementations
+
+
+
+== Implementations
 
 The core framework provides a default implementation of this API:
 
 * `org.apache.isis.core.metamodel.services.devutils.DeveloperUtilitiesServiceDefault`
 
-=== Register the Service
 
-The service is registered, like any other, in `isis.properties`:
 
-[source]
-----
-isis.services=...,\
-              org.apache.isis.core.metamodel.services.devutils.DeveloperUtilitiesServiceDefault,\
-              ...
-----
\ No newline at end of file
+== Register the Service
+
+So long as the Maven module is on the classpath, the domain services are automatically registered.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/d85483af/adocs/documentation/src/main/asciidoc/user-guide/_ug_isis-addons-modules_settings-module.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_isis-addons-modules_settings-module.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_isis-addons-modules_settings-module.adoc
index 9624a59..a0633c6 100644
--- a/adocs/documentation/src/main/asciidoc/user-guide/_ug_isis-addons-modules_settings-module.adoc
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_isis-addons-modules_settings-module.adoc
@@ -5,9 +5,9 @@
 :_imagesdir: images/
 
 
-The http://github.com/isisaddons/isis-module-settings}[Isis addons' settings] module provides a simple way to store both global (application-level) settings as well as per-user settings.
+The http://github.com/isisaddons/isis-module-settings[Isis addons' settings] module provides a simple way to store both global (application-level) settings as well as per-user settings.
 
-The settings service is documented here for your convenience; the full README can be found on the http://github.com/isisaddons/isis-module-settings}[github site].
+The settings service is documented here for your convenience; the full README can be found on the http://github.com/isisaddons/isis-module-settings[github site].
 
 
 == Application Settings
@@ -52,15 +52,15 @@ All actions from the services emit domain events.  If you wish to hide/disable t
 
 
 
-Title: Settings Services
-
-{note
+[NOTE]
+====
 In 1.6.0 this implementation was released as part of _org.apache.isis.core:isis-module-settings-jdo:1.6.0_ and was also released as an http://github.com/isisaddons/isis-module-settings[Isis addon] module. *In 1.7.0+ only the http://github.com/isisaddons/isis-module-settings[Isis addon] implementation is released.*
-}
+====
+
 
 The `ApplicationSettingsService` and the `UserSettingsService` are two similar services that provide the ability to store either configuration settings. With `ApplicationSettingsService` these settings have global scope; for the `UserSettingsService` the settings are stored per user.
 
-The core applib defines only interfaces and some convenience abstract classes. The JDO objectstore provides an link:../../components/objectstores/jdo/services/settings-services-jdo.html[implementation], alternatively you could write your own implementation.
+
 
 == ApplicationSettingsService
 

http://git-wip-us.apache.org/repos/asf/isis/blob/d85483af/adocs/documentation/src/main/asciidoc/user-guide/_ug_more-advanced_i18n.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_more-advanced_i18n.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_more-advanced_i18n.adoc
index 9e6ef90..98077e2 100644
--- a/adocs/documentation/src/main/asciidoc/user-guide/_ug_more-advanced_i18n.adoc
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_more-advanced_i18n.adoc
@@ -306,7 +306,7 @@ The basename for translation files is always `translations`; this cannot be alte
 
 === Externalized translation files
 
-Normally Isis configuration files are read from the `WEB-INF` file. However, Isis can be configured to read config files from an link:../reference/externalized-configuration.html[external directory]; this is also supported for translations.
+Normally Isis configuration files are read from the `WEB-INF` file. However, Isis can be configured to read config files from an xref:_ug_deployment_externalized-configuration[external directory]; this is also supported for translations.
 
 Thus, if in `web.xml` the external configuration directory has been set:
 
@@ -370,7 +370,7 @@ This allows a translator to edit the appropriate `translations-xx-XX.po` file an
 
 == Migrating from v1.6.0 to 1.7.0
 
-In v1.7.0 we've continued the work started in link:migrating-to-1.6.0.html[1.6.0] in modularizing the framework. The most important change to note is that all Isis core modules (with the Maven `groupId` of `org.apache.isis.module` have now MOVED to [http://www.isisaddons.org](Isis Addons).
+In v1.7.0 we've continued the work started in v1.6.0 in modularizing the framework. The most important change to note is that all Isis core modules (with the Maven `groupId` of `org.apache.isis.module` have now MOVED to [http://www.isisaddons.org](Isis Addons).
 
 In addition, we've retired some obsolete (and unused) functionality, specifically the `ProfileStore` component.
 

http://git-wip-us.apache.org/repos/asf/isis/blob/d85483af/adocs/documentation/src/main/asciidoc/user-guide/_ug_more-advanced_tips-n-tricks_per-user-themes.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_more-advanced_tips-n-tricks_per-user-themes.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_more-advanced_tips-n-tricks_per-user-themes.adoc
index 32fcc9f..98b2af0 100644
--- a/adocs/documentation/src/main/asciidoc/user-guide/_ug_more-advanced_tips-n-tricks_per-user-themes.adoc
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_more-advanced_tips-n-tricks_per-user-themes.adoc
@@ -12,7 +12,7 @@ Is it possible to have each of our resellers (using our Isis application) use th
 
 Yes, you can do this, by installing a custom implementation of the Wicket Bootstrap's `ActiveThemeProvider`.
 
-The http://github.com/isisaddons/isis-app-todoapp}[Isis addons' todoapp] (non-ASF) actually link:https://github.com/isisaddons/isis-app-todoapp/blob/61b8114a8e01dbb3c380b31cf09eaed456407570[does this], storing the info via the http://github.com/isisaddons/isis-module-settings}[Isis addons' settings module] settings modules:
+The http://github.com/isisaddons/isis-app-todoapp[Isis addons' todoapp] (non-ASF) actually link:https://github.com/isisaddons/isis-app-todoapp/tree/61b8114a8e01dbb3c380b31cf09eaed456407570[does this], storing the info via the http://github.com/isisaddons/isis-module-settings[Isis addons' settings module] settings modules:
 
 [source,java]
 .IActiveThemeProvider implementation

http://git-wip-us.apache.org/repos/asf/isis/blob/d85483af/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_aaa_main.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_aaa_main.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_aaa_main.adoc
index 62e784a..8558e66 100644
--- a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_aaa_main.adoc
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_aaa_main.adoc
@@ -11,7 +11,7 @@ For each of these domain types and members there is are two annotations.  One co
 
 [TIP]
 ====
-UI semantics can also be specified using xref:_ug_wicket-viewer_layout_dynamic-object-layout[dynamic object layout].
+Most UI semantics can also be specified using xref:_ug_wicket-viewer_layout_dynamic-object-layout[dynamic object layout].
 ====
 
 
@@ -26,7 +26,7 @@ The table below summarizes these most commonly used annotations in Isis.
 |Layer
 |xref:_ug_wicket-viewer_layout_dynamic-object-layout[Dynamic layout]?
 
-|xref:_ug_reference_annotations_manpage_code_action_code[`@Action`]
+|xref:_ug_reference-annotations_manpage-Action[`@Action`]
 |Domain semantics for actions
 |Domain
 |

http://git-wip-us.apache.org/repos/asf/isis/blob/d85483af/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-Action.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-Action.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-Action.adoc
index d0a6d67..f6a2586 100644
--- a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-Action.adoc
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-Action.adoc
@@ -57,7 +57,7 @@ The table below summarizes the annotation's attributes.
 |xref:_ug_reference-annotations_manpage-Action_publishing[`publishing()`]
 |`AS_CONFIGURED`, `ENABLED`, `DISABLED` +
 (`AS_CONFIGURED`)
-|whether changes to the object should be published to the registered link:../publishing-service.html[publishing service].
+|whether changes to the object should be published to the registered xref:_ug_reference-services-spi_manpage-PublishingService[`PublishingService`].
 
 |`publishingPayloadFactory()`
 |subtype of `PublishingPayloadFactoryForAction` (none)

http://git-wip-us.apache.org/repos/asf/isis/blob/d85483af/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-ActionLayout_bookmarking.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-ActionLayout_bookmarking.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-ActionLayout_bookmarking.adoc
index 57334f1..b12167a 100644
--- a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-ActionLayout_bookmarking.adoc
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-ActionLayout_bookmarking.adoc
@@ -9,7 +9,7 @@
 
 IMPORTANT: WIP ... this section
 
-The `@Bookmarkable` annotation indicates that an entity or an action (with safe link:./ActionSemantics.html[action semantics]) is automatically bookmarked.
+The `@Bookmarkable` annotation indicates that an entity or an action (with safe xref:_ug_reference-annotations_manpage_Action_semantics[action semantics]) is automatically bookmarked.
 
 (In the Wicket viewer), a link to a bookmarked object is shown in the bookmarks panel that slides out from the left:
 

http://git-wip-us.apache.org/repos/asf/isis/blob/d85483af/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-ActionLayout_contributedAs.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-ActionLayout_contributedAs.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-ActionLayout_contributedAs.adoc
index 302082d..f1c943d 100644
--- a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-ActionLayout_contributedAs.adoc
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-ActionLayout_contributedAs.adoc
@@ -27,7 +27,11 @@ public class OrderServices {
 If the action should neither be contributed nor appear in the service's
 service menu, then you could instead simply mark it as `@Hidden`.
 
-=== Contributing of one-arg actions
+
+
+
+
+== Contributing of one-arg actions
 
 Actions that accept a single argument will, by default, also be contributed as an association:
 

http://git-wip-us.apache.org/repos/asf/isis/blob/d85483af/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-ActionLayout_cssClass.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-ActionLayout_cssClass.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-ActionLayout_cssClass.adoc
index e41a77e..d192fbb 100644
--- a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-ActionLayout_cssClass.adoc
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-ActionLayout_cssClass.adoc
@@ -34,10 +34,11 @@ public class ToDoItem {
 ----
 
 
-=== Alternatives (`.layout.json`)
 
-As an alternative to using the `@CssClass` annotation, the `.layout.json`
-link:../../components/viewers/wicket/dynamic-layouts.html[dynamic layout file]
+
+== Alternatives (`.layout.json`)
+
+As an alternative to using the `@CssClass` annotation, the `.layout.json` xref:_ug_wicket-viewer_layout_dynamic-object-layout[dynamic layout file]
 can be specified, eg:
 
 [source,javascript]
@@ -64,7 +65,7 @@ Note that this (currently) only supports class members, not classes
 
 [NOTE]
 ====
-The similar link:./CssClassFa-deprecated.html[CssClassFa] annotation is also used as a hint
+The similar xref:_ug_reference-annotations_manpage_ActionLayout_cssClassFa[`@ActionLayout#cssClassFa()`] annotation attribute is also used as a hint
 to apply CSS, but in particular to allow http://fortawesome.github.io/Font-Awesome/icons/[Font Awesome icons]
 to be rendered on action butotns or as the icon for classes.
 ====

http://git-wip-us.apache.org/repos/asf/isis/blob/d85483af/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-ActionLayout_cssClassFa.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-ActionLayout_cssClassFa.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-ActionLayout_cssClassFa.adoc
index f36da7a..b959106 100644
--- a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-ActionLayout_cssClassFa.adoc
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-ActionLayout_cssClassFa.adoc
@@ -50,8 +50,7 @@ is no need to include the "fa" class; it will be automatically appended.
 
 == Alternatives (`.layout.json`)
 
-As an alternative to using the `@CssClass` annotation, the `.layout.json`
-link:../../components/viewers/wicket/dynamic-layouts.html[dynamic layout file]
+As an alternative to using the `@CssClass` annotation, the `.layout.json` xref:_ug_wicket-viewer_layout_dynamic-object-layout[dynamic layout file]
 can be specified, eg:
 
 [source,javascript]
@@ -85,7 +84,7 @@ Note that this (currently) only supports class members, not classes.
 
 [NOTE]
 ====
-The similar link:./CssClass-deprecated.html[CssClass] annotation is also used as a hint to apply CSS, but for wrapping the representation of an object or object member so that it can be styled in an application-specific way.
+The similar xref:_ug_reference-annotations_manpage_ActionLayout_cssClass[`@ActionLayout#cssClass()`] annotation attribute is also used as a hint to apply CSS, but for wrapping the representation of an object or object member so that it can be styled in an application-specific way.
 ====
 
 

http://git-wip-us.apache.org/repos/asf/isis/blob/d85483af/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-Action_command.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-Action_command.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-Action_command.adoc
index 2cb7693..beafbc8 100644
--- a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-Action_command.adoc
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-Action_command.adoc
@@ -19,7 +19,7 @@ By default, actions are invoked in directly in the thread of the invocation.
 
 Each action invocation is reified by the xref:_ug_reference-services-api_manpage-CommandContext[`CommandContext`] service into a `Command` object, capturing details of the target object, the action, the parameter arguments, the user, a timestamp and so on.
 
-If an appropriate `CommandService` is configured (for example using (non-ASF) http://github.com/isisaddons/isis-module-command}[Isis addons' command] module), then the `Command` itself is persisted.  If there is an implementation of `BackgroundCommandService` (as the http://github.com/isisaddons/isis-module-command}[Isis addons' command] module does provide), then this means in turn that the `BackgroundService` can be used by the domain object code to programmatically create background ``Command``s.
+If an appropriate `CommandService` is configured (for example using (non-ASF) http://github.com/isisaddons/isis-module-command[Isis addons' command] module), then the `Command` itself is persisted.  If there is an implementation of `BackgroundCommandService` (as the http://github.com/isisaddons/isis-module-command[Isis addons' command] module does provide), then this means in turn that the `BackgroundService` can be used by the domain object code to programmatically create background ``Command``s.
 
 [NOTE]
 ====

http://git-wip-us.apache.org/repos/asf/isis/blob/d85483af/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-Action_hidden.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-Action_hidden.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-Action_hidden.adoc
index c5d6fea..918726e 100644
--- a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-Action_hidden.adoc
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-Action_hidden.adoc
@@ -26,7 +26,7 @@ The only value that currently makes sense is `EVERYWHERE` (or its synonym `ANYWH
 
 [TIP]
 ====
-It is also possible to use `@ActionLayout` or link:../../components/viewers/wicket/dynamic-layouts.html[dynamic layouts] such that the action can be hidden at the view layer. Both options are provided with a view that in the future the view-layer semantics may be under the control of (expert) users, whereas domain-layer semantics should never be overridden or modified by the user.
+It is also possible to use `@ActionLayout` or xref:_ug_wicket-viewer_layout_dynamic-object-layout[dynamic layouts] such that the action can be hidden at the view layer. Both options are provided with a view that in the future the view-layer semantics may be under the control of (expert) users, whereas domain-layer semantics should never be overridden or modified by the user.
 ====
 
 [NOTE]

http://git-wip-us.apache.org/repos/asf/isis/blob/d85483af/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-CollectionLayout_cssClass.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-CollectionLayout_cssClass.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-CollectionLayout_cssClass.adoc
index 5e2b61e..49a9475 100644
--- a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-CollectionLayout_cssClass.adoc
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-CollectionLayout_cssClass.adoc
@@ -41,7 +41,7 @@ public class ToDoItem {
 == Alternatives (`.layout.json`)
 
 As an alternative to using the `@CssClass` annotation, the `.layout.json`
-link:../../components/viewers/wicket/dynamic-layouts.html[dynamic layout file]
+xref:_ug_wicket-viewer_layout_dynamic-object-layout[dynamic layout file]
 can be specified, eg:
 
 [source,javascript]
@@ -68,7 +68,7 @@ Note that this (currently) only supports class members, not classes
 
 [NOTE]
 ====
-The similar link:./CssClassFa-deprecated.html[CssClassFa] annotation is also used as a hint to apply CSS, but in particular to allow http://fortawesome.github.io/Font-Awesome/icons/[Font Awesome icons] to be rendered on action butotns or as the icon for classes.
+The similar xref:_ug_reference-annotations_manpage_CollectionLayout_cssClassFa[`@CollectionLayout#cssClassFa()`] annotation attribute is also used as a hint to apply CSS, but in particular to allow http://fortawesome.github.io/Font-Awesome/icons/[Font Awesome icons] to be rendered on action butotns or as the icon for classes.
 ====
 
 

http://git-wip-us.apache.org/repos/asf/isis/blob/d85483af/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-Collection_domainEvent.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-Collection_domainEvent.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-Collection_domainEvent.adoc
index 93db66e..bf39512 100644
--- a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-Collection_domainEvent.adoc
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-Collection_domainEvent.adoc
@@ -156,7 +156,7 @@ rather than an error.
 == Raising events programmatically.
 
 Normally events are only raised for interactions through the UI. However, events can be raised programmatically by
-wrapping the target object using the link:../services/wrapper-factory.html[Wrapper Factory] service.
+wrapping the target object using the xref:_ug_reference-services-api_manpage-WrapperFactory[`WrapperFactory`] service.
 
 
 [NOTE]

http://git-wip-us.apache.org/repos/asf/isis/blob/d85483af/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-DomainObjectLayout.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-DomainObjectLayout.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-DomainObjectLayout.adoc
index 29292a5..eace09e 100644
--- a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-DomainObjectLayout.adoc
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-DomainObjectLayout.adoc
@@ -79,7 +79,7 @@ public class ToDoItem {
 ----
 
 For view models that have been annotated with `@ViewModel` (rather than `@DomainObject(nature=VIEW_MODEL)` the
-equivalent link:./ViewModelLayout.html[@ViewModelLayout] can be used.
+equivalent xref:_ug_reference-annotations_manpage_VewModelLayout[`@VewModelLayout`] can be used.
 
 
 

http://git-wip-us.apache.org/repos/asf/isis/blob/d85483af/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-DomainObjectLayout_bookmarking.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-DomainObjectLayout_bookmarking.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-DomainObjectLayout_bookmarking.adoc
index f6a2223..08b7f49 100644
--- a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-DomainObjectLayout_bookmarking.adoc
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-DomainObjectLayout_bookmarking.adoc
@@ -9,7 +9,7 @@
 IMPORTANT: WIP ... this section
 
 
-The `@Bookmarkable` annotation indicates that an entity or an action (with safe link:./ActionSemantics.html[action semantics]) is automatically bookmarked.
+The `bookmarking()` attribute indicates that an entity is automatically bookmarked.
 
 (In the Wicket viewer), a link to a bookmarked object is shown in the bookmarks panel that slides out from the left:
 

http://git-wip-us.apache.org/repos/asf/isis/blob/d85483af/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-DomainObjectLayout_cssClass.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-DomainObjectLayout_cssClass.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-DomainObjectLayout_cssClass.adoc
index e1bd2fc..95a833b 100644
--- a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-DomainObjectLayout_cssClass.adoc
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-DomainObjectLayout_cssClass.adoc
@@ -36,10 +36,13 @@ public class ToDoItem {
 }
 ----
 
-=== Alternatives (`.layout.json`)
 
-As an alternative to using the `@CssClass` annotation, the `.layout.json`
-link:../../components/viewers/wicket/dynamic-layouts.html[dynamic layout file]
+
+
+
+== Alternatives (`.layout.json`)
+
+As an alternative to using the `@CssClass` annotation, the `.layout.json` xref:_ug_wicket-viewer_layout_dynamic-object-layout[dynamic layout file]
 can be specified, eg:
 
 [source,javascript]
@@ -66,10 +69,9 @@ Note that this (currently) only supports class members, not classes
 
 [NOTE]
 ====
-The similar link:./CssClassFa-deprecated.html[CssClassFa] annotation is also used as a hint
+The similar xref:_ug_reference-annotations_manpage_DomainObjectLayout_cssClassFa[`@DomainObjectLayout#cssClassFa()`] annotation attribute is also used as a hint
 to apply CSS, but in particular to allow http://fortawesome.github.io/Font-Awesome/icons/[Font Awesome icons]
 to be rendered on action butotns or as the icon for classes.
 ====
 
 
-

http://git-wip-us.apache.org/repos/asf/isis/blob/d85483af/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-DomainObjectLayout_cssClassFa.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-DomainObjectLayout_cssClassFa.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-DomainObjectLayout_cssClassFa.adoc
index 56be48b..d43f06e 100644
--- a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-DomainObjectLayout_cssClassFa.adoc
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-DomainObjectLayout_cssClassFa.adoc
@@ -54,7 +54,7 @@ is no need to include the "fa" class; it will be automatically appended.
 === Alternatives (`.layout.json`)
 
 As an alternative to using the `@CssClass` annotation, the `.layout.json`
-link:../../components/viewers/wicket/dynamic-layouts.html[dynamic layout file]
+xref:_ug_wicket-viewer_layout_dynamic-object-layout[dynamic layout file]
 can be specified, eg:
 
 [source,javascript]
@@ -88,7 +88,7 @@ Note that this (currently) only supports class members, not classes.
 
 [TIP]
 ====
-The similar link:./CssClass-deprecated.html[CssClass] annotation is also used as a hint
+The similar xref:_ug_reference-annotations_manpage_DomainObjectLayout_cssClass[`@DomainObjectLayout#cssClass()`] annotation attribute is also used as a hint
 to apply CSS, but for wrapping the representation of an object or object
 member so that it can be styled in an application-specific way.
 ====

http://git-wip-us.apache.org/repos/asf/isis/blob/d85483af/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-DomainObject_publishing.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-DomainObject_publishing.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-DomainObject_publishing.adoc
index 276773d..15a7074 100644
--- a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-DomainObject_publishing.adoc
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-DomainObject_publishing.adoc
@@ -11,11 +11,15 @@ This annotation on an entity type causes an events to be published by the regist
 
 
 
-=== `publishing()`
+== `publishing()`
 
 IMPORTANT: WIP ... this section
 
-=== `publishingPayloadFactory()`
+
+
+
+
+== `publishingPayloadFactory()`
 
 IMPORTANT: WIP ... this section
 

http://git-wip-us.apache.org/repos/asf/isis/blob/d85483af/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-DomainService_nature.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-DomainService_nature.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-DomainService_nature.adoc
index aedf6a5..ecaa0c8 100644
--- a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-DomainService_nature.adoc
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-DomainService_nature.adoc
@@ -29,7 +29,10 @@ public class OrderServices {
 If the action should neither be contributed nor appear in the service's
 service menu, then you could instead simply mark it as `@Hidden`.
 
-=== Contributing of one-arg actions
+
+
+
+== Contributing of one-arg actions
 
 Actions that accept a single argument will, by default, also be contributed as an association: