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/12/03 19:16:08 UTC
[50/51] [abbrv] isis git commit: ISIS-1243: renamed ug.adoc to
ugfun.adoc. Added standard section to each of the guides so can navigate
between each easily.
http://git-wip-us.apache.org/repos/asf/isis/blob/1ad82470/adocs/documentation/src/main/asciidoc/guides/_rgcms_schema-common.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/_rgcms_schema-common.adoc b/adocs/documentation/src/main/asciidoc/guides/_rgcms_schema-common.adoc
index 2359c4e..211f064 100644
--- a/adocs/documentation/src/main/asciidoc/guides/_rgcms_schema-common.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/_rgcms_schema-common.adoc
@@ -12,7 +12,7 @@ xref:rgsvc.adoc#_rgsvc-api_BookmarkService[`BookmarkService`].
Although simple, this is an enormously powerful concept, in that it represents a URI to any domain object managed by
a given Apache Isis application. With it, we have the ability to lookup any arbitrary object. Further discussion and
-examples can be found xref:ug.adoc#_ug_core-concepts_building-blocks_oid[here].
+examples can be found xref:ug.adoc#_ugfun_core-concepts_building-blocks_oid[here].
[source,xml]
http://git-wip-us.apache.org/repos/asf/isis/blob/1ad82470/adocs/documentation/src/main/asciidoc/guides/_rgsvc-api_ActionInvocationContext.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/_rgsvc-api_ActionInvocationContext.adoc b/adocs/documentation/src/main/asciidoc/guides/_rgsvc-api_ActionInvocationContext.adoc
index caea35d..2ab1258 100644
--- a/adocs/documentation/src/main/asciidoc/guides/_rgsvc-api_ActionInvocationContext.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/_rgsvc-api_ActionInvocationContext.adoc
@@ -71,7 +71,7 @@ so no further configuration is required.
To use an alternative implementation, use
xref:rgant.adoc#_rgant-DomainServiceLayout_menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained
-further in this xref:ug.adoc#_ug_how-tos_replacing-default-service-implementations["how to"] tip).
+further in this xref:ug.adoc#_ugfun_how-tos_replacing-default-service-implementations["how to"] tip).
http://git-wip-us.apache.org/repos/asf/isis/blob/1ad82470/adocs/documentation/src/main/asciidoc/guides/_rgsvc-api_BackgroundService.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/_rgsvc-api_BackgroundService.adoc b/adocs/documentation/src/main/asciidoc/guides/_rgsvc-api_BackgroundService.adoc
index e56a9dc..25706eb 100644
--- a/adocs/documentation/src/main/asciidoc/guides/_rgsvc-api_BackgroundService.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/_rgsvc-api_BackgroundService.adoc
@@ -100,7 +100,7 @@ further configuration is required.
To use an alternative implementation, use
xref:rgant.adoc#_rgant-DomainServiceLayout_menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained
-further in this xref:ug.adoc#_ug_how-tos_replacing-default-service-implementations["how to"] tip).
+further in this xref:ug.adoc#_ugfun_how-tos_replacing-default-service-implementations["how to"] tip).
http://git-wip-us.apache.org/repos/asf/isis/blob/1ad82470/adocs/documentation/src/main/asciidoc/guides/_rgsvc-api_BookmarkService.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/_rgsvc-api_BookmarkService.adoc b/adocs/documentation/src/main/asciidoc/guides/_rgsvc-api_BookmarkService.adoc
index 5ce3312..4ff46db 100644
--- a/adocs/documentation/src/main/asciidoc/guides/_rgsvc-api_BookmarkService.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/_rgsvc-api_BookmarkService.adoc
@@ -111,6 +111,6 @@ configuration is required.
To use an alternative implementation, use
xref:rgant.adoc#_rgant-DomainServiceLayout_menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained
-further in this xref:ug.adoc#_ug_how-tos_replacing-default-service-implementations["how to"] tip).
+further in this xref:ug.adoc#_ugfun_how-tos_replacing-default-service-implementations["how to"] tip).
http://git-wip-us.apache.org/repos/asf/isis/blob/1ad82470/adocs/documentation/src/main/asciidoc/guides/_rgsvc-api_CommandContext.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/_rgsvc-api_CommandContext.adoc b/adocs/documentation/src/main/asciidoc/guides/_rgsvc-api_CommandContext.adoc
index c1c1bfc..8994a5c 100644
--- a/adocs/documentation/src/main/asciidoc/guides/_rgsvc-api_CommandContext.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/_rgsvc-api_CommandContext.adoc
@@ -203,7 +203,7 @@ implementation of `CommandContext` service is automatically registered and injec
To use an alternative implementation, use
xref:rgant.adoc#_rgant-DomainServiceLayout_menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained
-further in this xref:ug.adoc#_ug_how-tos_replacing-default-service-implementations["how to"] tip).
+further in this xref:ug.adoc#_ugfun_how-tos_replacing-default-service-implementations["how to"] tip).
http://git-wip-us.apache.org/repos/asf/isis/blob/1ad82470/adocs/documentation/src/main/asciidoc/guides/_rgsvc-api_DeepLinkService.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/_rgsvc-api_DeepLinkService.adoc b/adocs/documentation/src/main/asciidoc/guides/_rgsvc-api_DeepLinkService.adoc
index 8512b05..363b0c7 100644
--- a/adocs/documentation/src/main/asciidoc/guides/_rgsvc-api_DeepLinkService.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/_rgsvc-api_DeepLinkService.adoc
@@ -53,4 +53,4 @@ automatically registered and injected (it is annotated with `@DomainService`) so
To use an alternative implementation, use
xref:rgant.adoc#_rgant-DomainServiceLayout_menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained
-further in this xref:ug.adoc#_ug_how-tos_replacing-default-service-implementations["how to"] tip).
+further in this xref:ug.adoc#_ugfun_how-tos_replacing-default-service-implementations["how to"] tip).
http://git-wip-us.apache.org/repos/asf/isis/blob/1ad82470/adocs/documentation/src/main/asciidoc/guides/_rgsvc-api_EmailService.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/_rgsvc-api_EmailService.adoc b/adocs/documentation/src/main/asciidoc/guides/_rgsvc-api_EmailService.adoc
index 6301e5a..2042983 100644
--- a/adocs/documentation/src/main/asciidoc/guides/_rgsvc-api_EmailService.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/_rgsvc-api_EmailService.adoc
@@ -87,7 +87,7 @@ implementation of `EmailService` service is automatically registered and injecte
To use an alternative implementation, use
xref:rgant.adoc#_rgant-DomainServiceLayout_menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained
-further in this xref:ug.adoc#_ug_how-tos_replacing-default-service-implementations["how to"] tip).
+further in this xref:ug.adoc#_ugfun_how-tos_replacing-default-service-implementations["how to"] tip).
== Related Services
http://git-wip-us.apache.org/repos/asf/isis/blob/1ad82470/adocs/documentation/src/main/asciidoc/guides/_rgsvc-api_EventBusService.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/_rgsvc-api_EventBusService.adoc b/adocs/documentation/src/main/asciidoc/guides/_rgsvc-api_EventBusService.adoc
index 7fdde83..1e3ecbb 100644
--- a/adocs/documentation/src/main/asciidoc/guides/_rgsvc-api_EventBusService.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/_rgsvc-api_EventBusService.adoc
@@ -393,7 +393,7 @@ implementation of `EventBusService` service is automatically registered and inje
To use an alternative implementation, use
xref:rgant.adoc#_rgant-DomainServiceLayout_menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained
-further in this xref:ug.adoc#_ug_how-tos_replacing-default-service-implementations["how to"] tip).
+further in this xref:ug.adoc#_ugfun_how-tos_replacing-default-service-implementations["how to"] tip).
http://git-wip-us.apache.org/repos/asf/isis/blob/1ad82470/adocs/documentation/src/main/asciidoc/guides/_rgsvc-api_GuiceBeanProvider.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/_rgsvc-api_GuiceBeanProvider.adoc b/adocs/documentation/src/main/asciidoc/guides/_rgsvc-api_GuiceBeanProvider.adoc
index cf7c5f6..261195f 100644
--- a/adocs/documentation/src/main/asciidoc/guides/_rgsvc-api_GuiceBeanProvider.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/_rgsvc-api_GuiceBeanProvider.adoc
@@ -86,6 +86,6 @@ automatically registered and injected (it is annotated with `@DomainService`) so
To use an alternative implementation, use
xref:rgant.adoc#_rgant-DomainServiceLayout_menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained
-further in this xref:ug.adoc#_ug_how-tos_replacing-default-service-implementations["how to"] tip).
+further in this xref:ug.adoc#_ugfun_how-tos_replacing-default-service-implementations["how to"] tip).
http://git-wip-us.apache.org/repos/asf/isis/blob/1ad82470/adocs/documentation/src/main/asciidoc/guides/_rgsvc-api_IsisJdoSupport.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/_rgsvc-api_IsisJdoSupport.adoc b/adocs/documentation/src/main/asciidoc/guides/_rgsvc-api_IsisJdoSupport.adoc
index ab53f88..9553542 100644
--- a/adocs/documentation/src/main/asciidoc/guides/_rgsvc-api_IsisJdoSupport.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/_rgsvc-api_IsisJdoSupport.adoc
@@ -273,4 +273,4 @@ implementation of `IsisJdoSupport` service is automatically registered and injec
To use an alternative implementation, use
xref:rgant.adoc#_rgant-DomainServiceLayout_menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained
-further in this xref:ug.adoc#_ug_how-tos_replacing-default-service-implementations["how to"] tip).
+further in this xref:ug.adoc#_ugfun_how-tos_replacing-default-service-implementations["how to"] tip).
http://git-wip-us.apache.org/repos/asf/isis/blob/1ad82470/adocs/documentation/src/main/asciidoc/guides/_rgsvc-api_JaxbService.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/_rgsvc-api_JaxbService.adoc b/adocs/documentation/src/main/asciidoc/guides/_rgsvc-api_JaxbService.adoc
index 198534d..56c6328 100644
--- a/adocs/documentation/src/main/asciidoc/guides/_rgsvc-api_JaxbService.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/_rgsvc-api_JaxbService.adoc
@@ -63,5 +63,5 @@ so no further configuration is required.
To use an alternative implementation, use
xref:rgant.adoc#_rgant-DomainServiceLayout_menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained
-further in this xref:ug.adoc#_ug_how-tos_replacing-default-service-implementations["how to"] tip).
+further in this xref:ug.adoc#_ugfun_how-tos_replacing-default-service-implementations["how to"] tip).
http://git-wip-us.apache.org/repos/asf/isis/blob/1ad82470/adocs/documentation/src/main/asciidoc/guides/_rgsvc-api_MementoService.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/_rgsvc-api_MementoService.adoc b/adocs/documentation/src/main/asciidoc/guides/_rgsvc-api_MementoService.adoc
index 7196374..6358231 100644
--- a/adocs/documentation/src/main/asciidoc/guides/_rgsvc-api_MementoService.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/_rgsvc-api_MementoService.adoc
@@ -128,4 +128,4 @@ implementation of `MementoService` service is automatically registered and injec
To use an alternative implementation, use
xref:rgant.adoc#_rgant-DomainServiceLayout_menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained
-further in this xref:ug.adoc#_ug_how-tos_replacing-default-service-implementations["how to"] tip).
+further in this xref:ug.adoc#_ugfun_how-tos_replacing-default-service-implementations["how to"] tip).
http://git-wip-us.apache.org/repos/asf/isis/blob/1ad82470/adocs/documentation/src/main/asciidoc/guides/_rgsvc-api_MetamodelService.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/_rgsvc-api_MetamodelService.adoc b/adocs/documentation/src/main/asciidoc/guides/_rgsvc-api_MetamodelService.adoc
index 6c745d6..7aa8a58 100644
--- a/adocs/documentation/src/main/asciidoc/guides/_rgsvc-api_MetamodelService.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/_rgsvc-api_MetamodelService.adoc
@@ -39,4 +39,4 @@ implementation of `MetamodelService` service is automatically registered and inj
To use an alternative implementation, use
xref:rgant.adoc#_rgant-DomainServiceLayout_menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained
-further in this xref:ug.adoc#_ug_how-tos_replacing-default-service-implementations["how to"] tip).
+further in this xref:ug.adoc#_ugfun_how-tos_replacing-default-service-implementations["how to"] tip).
http://git-wip-us.apache.org/repos/asf/isis/blob/1ad82470/adocs/documentation/src/main/asciidoc/guides/_rgsvc-api_QueryResultsCache.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/_rgsvc-api_QueryResultsCache.adoc b/adocs/documentation/src/main/asciidoc/guides/_rgsvc-api_QueryResultsCache.adoc
index 1182787..a5a63c3 100644
--- a/adocs/documentation/src/main/asciidoc/guides/_rgsvc-api_QueryResultsCache.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/_rgsvc-api_QueryResultsCache.adoc
@@ -117,7 +117,7 @@ implementation of `QueryResultsCache` service is automatically registered and in
To use an alternative implementation, use
xref:rgant.adoc#_rgant-DomainServiceLayout_menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained
-further in this xref:ug.adoc#_ug_how-tos_replacing-default-service-implementations["how to"] tip).
+further in this xref:ug.adoc#_ugfun_how-tos_replacing-default-service-implementations["how to"] tip).
http://git-wip-us.apache.org/repos/asf/isis/blob/1ad82470/adocs/documentation/src/main/asciidoc/guides/_rgsvc-api_Scratchpad.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/_rgsvc-api_Scratchpad.adoc b/adocs/documentation/src/main/asciidoc/guides/_rgsvc-api_Scratchpad.adoc
index bbef46d..3d091e2 100644
--- a/adocs/documentation/src/main/asciidoc/guides/_rgsvc-api_Scratchpad.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/_rgsvc-api_Scratchpad.adoc
@@ -115,7 +115,7 @@ so no further configuration is required.
To use an alternative implementation, use
xref:rgant.adoc#_rgant-DomainServiceLayout_menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained
-further in this xref:ug.adoc#_ug_how-tos_replacing-default-service-implementations["how to"] tip).
+further in this xref:ug.adoc#_ugfun_how-tos_replacing-default-service-implementations["how to"] tip).
http://git-wip-us.apache.org/repos/asf/isis/blob/1ad82470/adocs/documentation/src/main/asciidoc/guides/_rgsvc-api_SudoService.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/_rgsvc-api_SudoService.adoc b/adocs/documentation/src/main/asciidoc/guides/_rgsvc-api_SudoService.adoc
index 8bcfe26..c1b8a84 100644
--- a/adocs/documentation/src/main/asciidoc/guides/_rgsvc-api_SudoService.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/_rgsvc-api_SudoService.adoc
@@ -66,4 +66,4 @@ implementation of `SudoService` service is automatically registered and injected
To use an alternative implementation, use
xref:rgant.adoc#_rgant-DomainServiceLayout_menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained
-further in this xref:ug.adoc#_ug_how-tos_replacing-default-service-implementations["how to"] tip).
+further in this xref:ug.adoc#_ugfun_how-tos_replacing-default-service-implementations["how to"] tip).
http://git-wip-us.apache.org/repos/asf/isis/blob/1ad82470/adocs/documentation/src/main/asciidoc/guides/_rgsvc-api_WrapperFactory.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/_rgsvc-api_WrapperFactory.adoc b/adocs/documentation/src/main/asciidoc/guides/_rgsvc-api_WrapperFactory.adoc
index d83af8a..7f7eba8 100644
--- a/adocs/documentation/src/main/asciidoc/guides/_rgsvc-api_WrapperFactory.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/_rgsvc-api_WrapperFactory.adoc
@@ -159,4 +159,4 @@ implementation of `WrapperFactory` service is automatically registered and injec
To use an alternative implementation, use
xref:rgant.adoc#_rgant-DomainServiceLayout_menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained
-further in this xref:ug.adoc#_ug_how-tos_replacing-default-service-implementations["how to"] tip).
+further in this xref:ug.adoc#_ugfun_how-tos_replacing-default-service-implementations["how to"] tip).
http://git-wip-us.apache.org/repos/asf/isis/blob/1ad82470/adocs/documentation/src/main/asciidoc/guides/_rgsvc-api_XmlSnapshotService.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/_rgsvc-api_XmlSnapshotService.adoc b/adocs/documentation/src/main/asciidoc/guides/_rgsvc-api_XmlSnapshotService.adoc
index 3f5c84c..316f4fa 100644
--- a/adocs/documentation/src/main/asciidoc/guides/_rgsvc-api_XmlSnapshotService.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/_rgsvc-api_XmlSnapshotService.adoc
@@ -200,7 +200,7 @@ implementation of `XmlSnapshotService` service is automatically registered and i
To use an alternative implementation, use
xref:rgant.adoc#_rgant-DomainServiceLayout_menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained
-further in this xref:ug.adoc#_ug_how-tos_replacing-default-service-implementations["how to"] tip).
+further in this xref:ug.adoc#_ugfun_how-tos_replacing-default-service-implementations["how to"] tip).
http://git-wip-us.apache.org/repos/asf/isis/blob/1ad82470/adocs/documentation/src/main/asciidoc/guides/_rgsvc-spi_ClassDiscoveryService.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/_rgsvc-spi_ClassDiscoveryService.adoc b/adocs/documentation/src/main/asciidoc/guides/_rgsvc-spi_ClassDiscoveryService.adoc
index 8203208..f40de54 100644
--- a/adocs/documentation/src/main/asciidoc/guides/_rgsvc-spi_ClassDiscoveryService.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/_rgsvc-spi_ClassDiscoveryService.adoc
@@ -46,7 +46,7 @@ This implementation is also used to discover domain services annotated with xref
The usage will vary depending upon the conventions of the design. As of 1.9.0, the usage of the service has been
centralized such that the packages to be scanned are located from the xref:rgcms.adoc#_rgcms_classes_AppManifest-bootstrapping[`AppManifest`]'s `#getModules()` method.
-For example, the xref:ug.adoc#_ug_getting-started_simpleapp-archetype[SimpleApp archetype]'s app manifest includes:
+For example, the xref:ug.adoc#_ugfun_getting-started_simpleapp-archetype[SimpleApp archetype]'s app manifest includes:
[source,java]
----
@@ -77,6 +77,6 @@ implementation of `ClassDiscoveryService2` service is automatically registered a
To use an alternative implementation, use
xref:rgant.adoc#_rgant-DomainServiceLayout_menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained
-further in this xref:ug.adoc#_ug_how-tos_replacing-default-service-implementations["how to"] tip).
+further in this xref:ug.adoc#_ugfun_how-tos_replacing-default-service-implementations["how to"] tip).
http://git-wip-us.apache.org/repos/asf/isis/blob/1ad82470/adocs/documentation/src/main/asciidoc/guides/_rgsvc-spi_ContentNegotiationService.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/_rgsvc-spi_ContentNegotiationService.adoc b/adocs/documentation/src/main/asciidoc/guides/_rgsvc-spi_ContentNegotiationService.adoc
index 1f2f08b..4164327 100644
--- a/adocs/documentation/src/main/asciidoc/guides/_rgsvc-spi_ContentNegotiationService.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/_rgsvc-spi_ContentNegotiationService.adoc
@@ -193,7 +193,7 @@ implementation of `ContentNegotiationService` service is automatically registere
To use an alternative implementation, use
xref:rgant.adoc#_rgant-DomainServiceLayout_menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained
-further in this xref:ug.adoc#_ug_how-tos_replacing-default-service-implementations["how to"] tip).
+further in this xref:ug.adoc#_ugfun_how-tos_replacing-default-service-implementations["how to"] tip).
http://git-wip-us.apache.org/repos/asf/isis/blob/1ad82470/adocs/documentation/src/main/asciidoc/guides/_rgsvc-spi_EmailNotificationService.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/_rgsvc-spi_EmailNotificationService.adoc b/adocs/documentation/src/main/asciidoc/guides/_rgsvc-spi_EmailNotificationService.adoc
index 9b63d8e..34553a2 100644
--- a/adocs/documentation/src/main/asciidoc/guides/_rgsvc-spi_EmailNotificationService.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/_rgsvc-spi_EmailNotificationService.adoc
@@ -70,7 +70,7 @@ implementation of `EmailNotificationService` service is automatically registered
To use an alternative implementation, use
xref:rgant.adoc#_rgant-DomainServiceLayout_menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained
-further in this xref:ug.adoc#_ug_how-tos_replacing-default-service-implementations["how to"] tip).
+further in this xref:ug.adoc#_ugfun_how-tos_replacing-default-service-implementations["how to"] tip).
== Related Services
http://git-wip-us.apache.org/repos/asf/isis/blob/1ad82470/adocs/documentation/src/main/asciidoc/guides/_rgsvc-spi_FixtureScriptsSpecificationProvider.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/_rgsvc-spi_FixtureScriptsSpecificationProvider.adoc b/adocs/documentation/src/main/asciidoc/guides/_rgsvc-spi_FixtureScriptsSpecificationProvider.adoc
index 5c9dea3..2ea5d3a 100644
--- a/adocs/documentation/src/main/asciidoc/guides/_rgsvc-spi_FixtureScriptsSpecificationProvider.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/_rgsvc-spi_FixtureScriptsSpecificationProvider.adoc
@@ -56,7 +56,7 @@ The class is immutable but it has a builder (obtained using `FixturescriptsSpeci
== Implementation
-The xref:ug.adoc#_ug_getting-started_simpleapp-archetype[SimpleApp archetype] has a simple implementation of this service:
+The xref:ug.adoc#_ugfun_getting-started_simpleapp-archetype[SimpleApp archetype] has a simple implementation of this service:
[source,java]
----
http://git-wip-us.apache.org/repos/asf/isis/blob/1ad82470/adocs/documentation/src/main/asciidoc/guides/_rgsvc-spi_LocaleProvider.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/_rgsvc-spi_LocaleProvider.adoc b/adocs/documentation/src/main/asciidoc/guides/_rgsvc-spi_LocaleProvider.adoc
index 4677e31..213b179 100644
--- a/adocs/documentation/src/main/asciidoc/guides/_rgsvc-spi_LocaleProvider.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/_rgsvc-spi_LocaleProvider.adoc
@@ -56,7 +56,7 @@ automatically registered and injected (it is annotated with `@DomainService`) so
To use an alternative implementation, use
xref:rgant.adoc#_rgant-DomainServiceLayout_menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained
-further in this xref:ug.adoc#_ug_how-tos_replacing-default-service-implementations["how to"] tip).
+further in this xref:ug.adoc#_ugfun_how-tos_replacing-default-service-implementations["how to"] tip).
http://git-wip-us.apache.org/repos/asf/isis/blob/1ad82470/adocs/documentation/src/main/asciidoc/guides/_rgsvc-spi_RepresentationService.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/_rgsvc-spi_RepresentationService.adoc b/adocs/documentation/src/main/asciidoc/guides/_rgsvc-spi_RepresentationService.adoc
index b85c8fe..5a4dd62 100644
--- a/adocs/documentation/src/main/asciidoc/guides/_rgsvc-spi_RepresentationService.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/_rgsvc-spi_RepresentationService.adoc
@@ -87,7 +87,7 @@ As discussed in the introduction, the framework provides a default implementatio
To use an alternative implementation, use
xref:rgant.adoc#_rgant-DomainServiceLayout_menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained
-further in this xref:ug.adoc#_ug_how-tos_replacing-default-service-implementations["how to"] tip).
+further in this xref:ug.adoc#_ugfun_how-tos_replacing-default-service-implementations["how to"] tip).
== Registering the Services
http://git-wip-us.apache.org/repos/asf/isis/blob/1ad82470/adocs/documentation/src/main/asciidoc/guides/_rgsvc-spi_TranslationService.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/_rgsvc-spi_TranslationService.adoc b/adocs/documentation/src/main/asciidoc/guides/_rgsvc-spi_TranslationService.adoc
index 5f7b1a3..21a7e64 100644
--- a/adocs/documentation/src/main/asciidoc/guides/_rgsvc-spi_TranslationService.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/_rgsvc-spi_TranslationService.adoc
@@ -68,7 +68,7 @@ If the menu items are not required then these can be suppressed either using sec
To use an alternative implementation, use
xref:rgant.adoc#_rgant-DomainServiceLayout_menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained
-further in this xref:ug.adoc#_ug_how-tos_replacing-default-service-implementations["how to"] tip).
+further in this xref:ug.adoc#_ugfun_how-tos_replacing-default-service-implementations["how to"] tip).
http://git-wip-us.apache.org/repos/asf/isis/blob/1ad82470/adocs/documentation/src/main/asciidoc/guides/_rgsvc-spi_TranslationsResolver.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/_rgsvc-spi_TranslationsResolver.adoc b/adocs/documentation/src/main/asciidoc/guides/_rgsvc-spi_TranslationsResolver.adoc
index 74d15b7..eb61c5b 100644
--- a/adocs/documentation/src/main/asciidoc/guides/_rgsvc-spi_TranslationsResolver.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/_rgsvc-spi_TranslationsResolver.adoc
@@ -52,7 +52,7 @@ automatically registered and injected (it is annotated with `@DomainService`) so
To use an alternative implementation, use
xref:rgant.adoc#_rgant-DomainServiceLayout_menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained
-further in this xref:ug.adoc#_ug_how-tos_replacing-default-service-implementations["how to"] tip).
+further in this xref:ug.adoc#_ugfun_how-tos_replacing-default-service-implementations["how to"] tip).
http://git-wip-us.apache.org/repos/asf/isis/blob/1ad82470/adocs/documentation/src/main/asciidoc/guides/_rgsvc-spi_UrlEncodingService.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/_rgsvc-spi_UrlEncodingService.adoc b/adocs/documentation/src/main/asciidoc/guides/_rgsvc-spi_UrlEncodingService.adoc
index 1a21aa9..39a352b 100644
--- a/adocs/documentation/src/main/asciidoc/guides/_rgsvc-spi_UrlEncodingService.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/_rgsvc-spi_UrlEncodingService.adoc
@@ -55,5 +55,5 @@ cases register an alternative implementation of this service.
To use an alternative implementation, use
xref:rgant.adoc#_rgant-DomainServiceLayout_menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained
-further in this xref:ug.adoc#_ug_how-tos_replacing-default-service-implementations["how to"] tip).
+further in this xref:ug.adoc#_ugfun_how-tos_replacing-default-service-implementations["how to"] tip).
http://git-wip-us.apache.org/repos/asf/isis/blob/1ad82470/adocs/documentation/src/main/asciidoc/guides/_tg_pet-clinic.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/_tg_pet-clinic.adoc b/adocs/documentation/src/main/asciidoc/guides/_tg_pet-clinic.adoc
index cd8a726..89c7785 100644
--- a/adocs/documentation/src/main/asciidoc/guides/_tg_pet-clinic.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/_tg_pet-clinic.adoc
@@ -5,7 +5,7 @@
:_imagesdir: images/
-This is a step-by-step tutorial to build up a simple "petclinic" application, starting from the xref:ug.adoc#_ug_getting-started_simpleapp-archetype[SimpleApp archetype]. It was originally written by Jeroen van der Wal.
+This is a step-by-step tutorial to build up a simple "petclinic" application, starting from the xref:ug.adoc#_ugfun_getting-started_simpleapp-archetype[SimpleApp archetype]. It was originally written by Jeroen van der Wal.
It consists of just three domain classes (http://yuml.me/edit/3db2078c[http://yuml.me/3db2078c]):
http://git-wip-us.apache.org/repos/asf/isis/blob/1ad82470/adocs/documentation/src/main/asciidoc/guides/_tg_stop-scaffolding-start-coding.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/_tg_stop-scaffolding-start-coding.adoc b/adocs/documentation/src/main/asciidoc/guides/_tg_stop-scaffolding-start-coding.adoc
index f4d40a3..5a44e23 100644
--- a/adocs/documentation/src/main/asciidoc/guides/_tg_stop-scaffolding-start-coding.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/_tg_stop-scaffolding-start-coding.adoc
@@ -202,8 +202,8 @@ Most domain objects in Apache Isis applications are persistent entities. In the
** eg rename to `Pet`
* if required, rename the `SimpleObject` class' `name` property
** for `Pet`, can leave `name` property as is
-* specify a xref:ug.adoc#_ug_how-tos_ui-hints_object-titles-and-icons[title]
-* specify an xref:ug.adoc#_ug_how-tos_ui-hints_object-titles-and-icons[icon]
+* specify a xref:ug.adoc#_ugfun_how-tos_ui-hints_object-titles-and-icons[title]
+* specify an xref:ug.adoc#_ugfun_how-tos_ui-hints_object-titles-and-icons[icon]
* make the entity bookmarkable by adding the xref:rgant.adoc#_rgant-DomainObjectLayout_bookmarking[`@DomainObjectLayout#bookmarking()`] attribute.
* confirm is available from bookmark panel (top-left of Wicket UI)
@@ -219,11 +219,11 @@ In the simpleapp archetype the `SimpleObjects` service is a factory/repository f
* rename the `SimpleObjects` class
** eg rename to `Pets`
* review `create` action (acting as a factory)
-** as per the docs describing xref:ug.adoc#_ug_how-tos_crud[how to create or delete objects]
+** as per the docs describing xref:ug.adoc#_ugfun_how-tos_crud[how to create or delete objects]
* rename if you wish
** eg `newPet(...)` or `addPet(...)`
* review `listAll` action (acting as a repository)
-* as per the docs describing xref:ug.adoc#_ug_how-tos_crud[how to write a custom repository]
+* as per the docs describing xref:ug.adoc#_ugfun_how-tos_crud[how to write a custom repository]
* note the annotations on the corresponding domain class (originally called `SimpleObject`, though renamed by now, eg to `Pet`)
* rename if you wish
** eg `listPets()`
@@ -296,7 +296,7 @@ The semantics of an action (whether it is safe/query only, whether it is idempot
Domain entities have state: either values (primitives, strings) or references to other entities. In this section we explore adding some value properties
-* add some xref:ug.adoc#_ug_how-tos_class-structure_properties[value properties]; also:
+* add some xref:ug.adoc#_ugfun_how-tos_class-structure_properties[value properties]; also:
* for string properties
** use the xref:rgant.adoc#_rgant-PropertyLayout_multiLine[`@Property(multiLine=...)`] annotation to render a text area instead of a text box
** use the xref:rgant.adoc#_rgant-Property_maxLength[`@Property(maxLength=...)`] annotation to specify the maximum number of characters allowable
@@ -309,7 +309,7 @@ Domain entities have state: either values (primitives, strings) or references to
* revisit the title, consider whether to use the xref:rgant.adoc#_rgant-Title[`@Title`] annotation
** rather than the xref:rgcms.adoc#_rgcms_methods_reserved_title[`title()`] `title()` method
* order the properties using the xref:rgant.adoc#_rgant-MemberOrder[`@MemberOrder`], also `@MemberGroupLayout`
-** see also the docs on xref:ug.adoc#_ug_object-layout_static[static layouts]
+** see also the docs on xref:ug.adoc#_ugfun_object-layout_static[static layouts]
* use the xref:rgant.adoc#_rgant-PropertyLayout[`@PropertyLayout`] annotation to position property/action parameter labels either to the LEFT, TOP or NONE
** do the same for parameters using xref:rgant.adoc#_rgant-ParameterLayout[`@ParameterLayout`]
@@ -320,7 +320,7 @@ Domain entities have state: either values (primitives, strings) or references to
Domain entities can also reference other domain entities. These references may be either scalar (single-valued) or vector (multi-valued). In this section we focus on scalar reference properties.
-* add some xref:ug.adoc#_ug_how-tos_class-structure_properties[reference properties]
+* add some xref:ug.adoc#_ugfun_how-tos_class-structure_properties[reference properties]
* update the corresponding domain service (for creation actoin)
* use different techniques to obtain references (shown in drop-down list box)
** use the xref:rgant.adoc#_rgant-DomainObject_bounded[`@DomainObjectLayout(bounded=...)`] annotation on the referenced type if there are only a small number (bounded) of instances
@@ -338,7 +338,7 @@ Domain entities can also reference other domain entities. These references may b
Quick detour: often we want to set up defaults to go with choices. Sensible defaults for action parameters can really improve the usability of the app.
-* Add xref:ug.adoc#_ug_how-tos_drop-downs-and-defaults[defaults] for action parameters
+* Add xref:ug.adoc#_ugfun_how-tos_drop-downs-and-defaults[defaults] for action parameters
@@ -350,7 +350,7 @@ Returning back to references, Isis also supports vector (multi-valued) reference
* Ensure that all domain classes implement `java.lang.Comparable`
** use the xref:rgcms.adoc#_rgcms_classes_utility_ObjectContracts[`ObjectContracts`] utility class to help implement `Comparable`
*** you can also `equals()`, `hashCode()`, `toString()`
-* Add a xref:ug.adoc#_ug_how-tos_class-structure_collections[collection] to one of the entities
+* Add a xref:ug.adoc#_ugfun_how-tos_class-structure_collections[collection] to one of the entities
** Use `SortedSet` as the class
** Use the xref:rgant.adoc#_rgant-CollectionLayout_render[`@CollectionLayout(render=...)`] annotation to indicate if the collection should be visible or hidden by default
* optional: use the xref:rgant.adoc#_rgant-CollectionLayout_sortedBy[`@CollectionLayout(sortedBy=...)`] annotation to specify a different comparator than the natural ordering
@@ -364,7 +364,7 @@ Returning back to references, Isis also supports vector (multi-valued) reference
The Wicket UI doesn't allow collections to be modified (added to/removed from). However, we can easily write actions to accomplish the same. Moreover, these actions can provide some additional business logic. For example: it probably shouldn't be possible to add an object twice into a collection, so it should not be presented in the list of choices/autoComplete; conversely, only those objects in the collection should be offered as choices to be removed.
* Add domain actions to add/remove from the collection
-* to create objects, xref:ug.adoc#_ug_how-tos_class-structure_inject-services[inject] associated domain service
+* to create objects, xref:ug.adoc#_ugfun_how-tos_class-structure_inject-services[inject] associated domain service
** generally we recommend using the xref:rgant.adoc#_rgant-Inject[`@Inject`] annotation with either private or default visibility
* the service itself should use xref:rgsvc.adoc#_rgsvc-api_DomainObjectContainer[`DomainObjectContainer`]
* use the xref:rgant.adoc#_rgant-MemberOrder[`@MemberOrder(name=...)`] annotation to associate an action with a property or with a collection
@@ -380,7 +380,7 @@ CSS classes can be associated with any class member (property, collection, actio
* the http://fortawesome.github.io/Font-Awesome/icons/[Font Awesome] icons can be used using the xref:rgant.adoc#_rgant-ActionLayout_cssClassFa[`@ActionLayout(cssClassFa=...)`]
-It's also possible to use Font Awesome icons for the xref:ug.adoc#_ug_how-tos_ui-hints_object-titles-and-icons[domain object icon].
+It's also possible to use Font Awesome icons for the xref:ug.adoc#_ugfun_how-tos_ui-hints_object-titles-and-icons[domain object icon].
So:
- for some of the actions of your domain services or entities, annotate using `@ActionLayout(cssClass=...)` or `@ActionLayout(cssClassFa=...)`
@@ -392,7 +392,7 @@ So:
Up to this point we've been using annotations (`@MemberOrder`, `@MemberGroupLayout`, `@Named`, `@PropertyLayout`, `@ParameterLayout`, `@ActionLayout` and so on) for UI hints. However, the feedback loop is not good: it requires us stopping the app, editing the code, recompiling and running again. So instead, all these UI hints (and more) can be specified dynamically, using a corresponding `.layout.json` file. If edited while the app is running, it will be reloaded automatically (in IntelliJ, use Run>Reload Changed Classes):
-* Delete the various hint annotations and instead specify layout hints using a xref:ug.adoc#_ug_object-layout_dynamic[.layout.json] file.
+* Delete the various hint annotations and instead specify layout hints using a xref:ug.adoc#_ugfun_object-layout_dynamic[.layout.json] file.
http://git-wip-us.apache.org/repos/asf/isis/blob/1ad82470/adocs/documentation/src/main/asciidoc/guides/_ug_core-concepts.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/_ug_core-concepts.adoc b/adocs/documentation/src/main/asciidoc/guides/_ug_core-concepts.adoc
deleted file mode 100644
index f7b255c..0000000
--- a/adocs/documentation/src/main/asciidoc/guides/_ug_core-concepts.adoc
+++ /dev/null
@@ -1,22 +0,0 @@
-[[_ug_core-concepts]]
-= Core Concepts
-: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/
-
-This introductory chapter should give you a good about what Apache Isis actually *is*: the fundamental ideas and principles that it builds upon, how it compares with other frameworks, what the fundamental building blocks are for actually writing an Isis application, and what services and features the framework provides for you to leverage in your own apps.
-
-[TIP]
-====
-Parts of this chapter have been adapted from Dan Haywood's 2009 book, 'Domain Driven Design using Naked Objects'. We've also added some new insights and made sure the material we've used is relevant to Apache Isis.
-====
-
-
-include::_ug_core-concepts_philosophy.adoc[leveloffset=+1]
-include::_ug_core-concepts_principles.adoc[leveloffset=+1]
-include::_ug_core-concepts_building-blocks.adoc[leveloffset=+1]
-include::_ug_core-concepts_framework-provided-services.adoc[leveloffset=+1]
-include::_ug_core-concepts_add-ons.adoc[leveloffset=+1]
-include::_ug_core-concepts_other-deployment-options.adoc[leveloffset=+1]
-
-
http://git-wip-us.apache.org/repos/asf/isis/blob/1ad82470/adocs/documentation/src/main/asciidoc/guides/_ug_core-concepts_add-ons.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/_ug_core-concepts_add-ons.adoc b/adocs/documentation/src/main/asciidoc/guides/_ug_core-concepts_add-ons.adoc
deleted file mode 100644
index 0af3b56..0000000
--- a/adocs/documentation/src/main/asciidoc/guides/_ug_core-concepts_add-ons.adoc
+++ /dev/null
@@ -1,35 +0,0 @@
-[[_ug_core-concepts_add-ons]]
-= Isis Add-ons
-: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/
-
-
-The link:http://www.isisaddons.org[Isis Addons] website provides a number of reusable modules and other extensions for Apache Isis. This chapter focuses just on the modules, all of which have a name of the form `isis-module-xxx`.
-
-[WARNING]
-====
-Note that Isis addons, while maintained by Apache Isis committers, are not part of the ASF.
-====
-
-
-
-The modules themselves fall into four broad groups:
-
-* modules that provide an implementations of API defined by Apache Isis +
-+
-where Apache 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.
-
-* 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
-
-* 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
-
-Each of the modules has a full README and example application demonstrating their usage. The sections below briefly outline the capabilities of these modules.
http://git-wip-us.apache.org/repos/asf/isis/blob/1ad82470/adocs/documentation/src/main/asciidoc/guides/_ug_core-concepts_building-blocks.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/_ug_core-concepts_building-blocks.adoc b/adocs/documentation/src/main/asciidoc/guides/_ug_core-concepts_building-blocks.adoc
deleted file mode 100644
index 1b7e2e5..0000000
--- a/adocs/documentation/src/main/asciidoc/guides/_ug_core-concepts_building-blocks.adoc
+++ /dev/null
@@ -1,335 +0,0 @@
-[[_ug_core-concepts_building-blocks]]
-= Building Blocks
-: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/
-
-In this section we run through the main building blocks that make up an Apache Isis application.
-
-[[_ug_core-concepts_building-blocks_metamodel]]
-== A MetaModel
-
-At its core, Apache Isis is a metamodel that is built at runtime from the domain classes (eg `Customer.java`), along
-with optional supporting metadata (eg `Customer.layout.json`).
-
-The contents of this metamodel is inferred from the Java classes discovered on the classpath: the entities and
-supporting services, as well the members of those classes. The detail of the metamodel is generally explicit, usually
-represented by Java annotations such as `@Title` or `@Action`. Notably the metamodel is
-xref:ugbtb.adoc#_ugbtb_programming-model[extensible]; it is possible to teach Apache Isis new programming
-conventions/rules (and conversely to remove those that are built in).
-
-Most of the annotations recognized by the framework are defined by the Apache Isis framework itself. For example the
-`@Title` annotation - which identifies how the framework should derive a human-readable label for each rendered
-domain object - is part of the `org.apache.isis.applib.annotations` package. However the framework also recognizes
-certain other JEE annotations such as `@javax.inject.Inject` (used for dependency injection).
-
-The framework uses DataNucleus for its persistence mechanism. This is an ORM that implements the JDO and JPA APIs, and
-which can map domain objects either to an RDBMS or to various NoSQL objectstores such as MongoDB or Neo4J. Apache Isis
-recognizes a number of the JDO annotations such as `@javax.jdo.annotations.Column(allowNulls=...)`.
-
-In addition, the framework builds up the metamodel for each domain object using
-xref:ug.adoc#_ug_object-layout[layout hints], such as `Customer.layout.json`. These provide metadata such as
-grouping elements of the UI together, using multi-column layouts, and so on. The layout file can be modified while the
-application is still running, and are picked up automatically; a useful way to speed up feedback.
-
-[TIP]
-====
-At the time of writing Apache Isis only recognizes and supports the JDO API, though we expect JPA to be supported
-in the future. We also expect to generalize support for `.layout.json` to be able to read such metadata from other
-sources.
-====
-
-
-[[_ug_core-concepts_building-blocks_types-of-domain-objects]]
-== Type of Domain Objects
-
-Most domain objects that the end-user interacts with are *domain entities*, such as `Customer`, `Order`, `Product` and
-so on. These are persistent objects and which are mapped to a database (usually relational), using JDO/DataNucleus
-annotations. From the end-user's perspective the UI displays a single domain object per page; they can then inspect
-and modify its state, and navigate to related objects.
-
-The next type of domain object to discuss is *domain services*. These are (usually) singleton stateless services
-that provide additional functionality. The behaviour of these services is rendered in various ways, though the most
-obvious is as the menu actions on the top-level menu bars in the xref:ugvw.adoc#[Wicket viewer]'s UI.
-
-Domain objects can also delegate to domain services; domain services are automatically injected into every other domain
-object; this includes domain entities as well as other services. This injection of domain services into entities is
-significant: it allows business logic to be implemented in the domain entities, rather than have it "leach away" into
-supporting service layers. Said another way: it is the means by which Apache Isis helps you avoid the anaemic
-domain model anti-pattern.
-
-As well as domain entities - mapped to a datastore - Apache Isis also supports *view models*. End users interact with
-view models in the same way as a domain entity, indeed they are unlikely to distinguish one from the other. However
-view models are _not_ mapped to the underlying database, rather they represent some aggregation of state from one or
-more underlying entities. Their state is serialized and recreated from their internal identifier; this identifier is
-visible as the object's URL in the xref:ugvw.adoc#[Wicket viewer] or
-xref:ugvro.adoc#[RestfulObjects viewer].
-
-There's no need though for the view model to aggregate the state of regular domain entities. A view model could also
-be used as a proxy for some externally managed entity, accessed over a web service or REST API; it could even be a
-representation of state held in-memory (such as user preferences, for example).
-
-There are also several types of domain services. Most easily described are those domain services (discussed above)
-that are represented as the menu actions on top-level menu bars. Another variation are *contributed services* - domain
-services that contribute behaviour or (derived) state to entities/view models. Finally domain services may also
-simply provide additional non-UI functionality; an example being to perform an address geocoding lookup against the
-google-maps API.
-
-Also worth mentioning: domain services can also be either singletons (discussed above) or request-scoped; the latter
-being annotated with `@javax.enterprise.context.RequestScoped`. An example of the request-scoped service is the
-xref:rgsvc.adoc#_rgsvc-api_Scratchpad[`Scratchpad`] service, for sharing arbitrary data between multiple objects.
-
-The final type of domain object is the *mixin*. These are similar to contributed services in that they also contribute (or rather,
-mixin) both behaviour or (derived) state to entities/view models. However, they provide a more control over contributed services,
-with a cleaner programming model similar to traits found in other languages.
-
-The diagram below summarizes the various types of domain object:
-
-image::{_imagesdir}core-concepts/building-blocks/types-of-domain-object.png[width="860px",link="{_imagesdir}core-concepts/building-blocks/types-of-domain-object.png"]
-
-
-The Apache Isis programming model uses annotations to distinguish these object types:
-
-* *view models* are annotated either with `@DomainObject(nature=VIEW_MODEL)` or using `@ViewModel`. Which is used is
-a matter of personal preference. +
-+
-It is also possible to implement the `ViewModel` interface, for finer-grained control.
-
-* *domain entities* that are persisted to the database (as the vast majority will) are annotated with
-`@DomainObject(nature=ENTITY)`. In addition such domain entities are annotated with the JDO/DataNucleus annotation of
-`@javax.jdo.annotations.PersistenceCapable`. +
-+
-In addition, if a domain entity is a proxy for state managed in an external system, or merely for some state held
-in-memory, then `@DomainObject(nature=EXTERNAL_ENTITY)` or `@DomainObject(nature=INMEMORY_ENTITY)` can be used.
-
-* *mixins* are annotated either with `@DomainObject(nature=MIXIN)` or using `@Mixin`. As for view models, which is
-used is a matter of personal preference.
-
-* finally, *domain services*` are annotated with `@DomainService(nature=...)` where the nature is either
-`VIEW_MENU_ONLY` (for domain services whose actions appear on the top-level menu bars), or `VIEW_CONTRIBUTIONS_ONLY`
-(for domain services whose actions are contributed to entities or view models), or `DOMAIN` (for domain services whose
-functionality is simply for other domain objects to invoke programmatically).
-+
-It is also possible to specify a nature of simply `VIEW`, this combining `VIEW_MENU_ONLY` and `VIEW_CONTRIBUTIONS_ONLY`.
-This is in fact the default, useful for initial prototyping. A final nature is `VIEW_REST_ONLY` which is for domain
-services whose functionality is surfaced only by the xref:ugvro.adoc#[RestfulObjects viewer].
-
-Worth emphasising is that domain entities and view models hold state, whereas domain services are generally
-stateless. If a domain service does hold state (eg the `Scratchpad` service noted above) then it should be
-`@RequestScoped` so that this state is short-lived and usable only within a single request.
-
-
-
-[[_ug_core-concepts_building-blocks_objects-members]]
-== Object Members
-
-Every domain object in Apache Isis consists of (at most) three types of members:
-
-* properties, such as a `Customer`'s `firstName
-
-* collections, such as a `Customer`'s `orders` collection of ``Order``s
-
-* actions, such as a `Customer'`s `placeOrder(...)` method.
-
-Some domain objects - specifically domain services and mixins - only have actions. In the case of contributing services
-and mixins these actions can (depending upon their semantics and signatures) be represented as derived properties or
-collections on the entity/view model to which they contribute/mix-in.
-
-
-=== Properties
-
-Properties follow the standard getter/setter pattern, with the return type being a scalar (a value object or another
-entity or view model).
-
-For example, with:
-
-[source,java]
-----
-public class Customer
- private String firstName;
- public String getFirstName() { return firstName; }
- public void setFirstName(String firstName) { this.firstName = firstName; }
- ...
-}
-----
-
-the framework infers the `Customer` domain entity, which in turn has a `firstName` string _property_.
-
-
-=== Collections
-
-Collections are also represented by a getter and setter, however the return type is a `Collection` or subtype.
-
-For example, with:
-
-[source,java]
-----
-public class Customer
- private SortedSet<Order> orders = new TreeSet<Order>();
- public SortedSet<Order> getOrders() { return orders; }
- public void setOrders(SortedSet<Order> orders) { this.orders = orders; }
- ...
-}
-----
-
-the framework infers the `orders` _collection_.
-
-[TIP]
-====
-The most commonly used collection type is `java.util.SortedSet`; entities are most commonly mapped to a relational
-database (ie a datastore with set semantics) and we recommend that all entities define a natural ordering so that when
-rendered in the UI they will be ordered "meaningfully" to the end-user.
-====
-
-
-=== Actions
-
-The third type of object member is actions. (To a first approximation), actions are all public methods that do not
-represent properties or collections.
-
-For example:
-
-[source,java]
-----
-public class Customer
- public Customer placeOrder(Product p, int quantity) { ... }
- ...
-}
-----
-
-corresponds to the `placeOrder` _action_.
-
-[NOTE]
-====
-The above _is_ a simplification; the Apache Isis programming model also recognizes a number of other supporting methods
-each of which has its own prefix such as `hide`, `disable` or `validate`. These can be considered as "reserved words"
-in Apache Isis, and do _not_ correspond to actions even though they have public visibility.
-====
-
-
-
-== Entities vs View Models
-
-When developing an Apache Isis application you will most likely start off with the persistent domain entities:
-`Customer`, `Order`, `Product`, and so on. For some applications this may well suffice. However, if the application
-needs to integrate with other systems, or if the application needs to support reasonably complex business processes,
-then you may need to look beyond just domain entities.
-
-To support these use cases we support view models. In the same way that an (RDBMS) database view can aggregate and
-abstract from multiple underlying database tables, so a view model sits on top of one or many underlying entities.
-
-View models are not persisted, but nevertheless they can have behaviour (and titles, and icons) just like domain
-entities. Indeed, to a user of the system there is no particular distinction (again, in the same way that when using
-an RDBMS one can use database views and database tables pretty much interchangeably).
-
-View models generally tend to be associated with supporting a particular use case; logically they are part of the
-application layer, not part of the domain layer (where entities live).
-
-We introduce view models here because they do get mentioned quite often within the users and reference guide. However,
-we do consider them a more advanced topic; we generally recommend that you build your applications from the domain
-layer up, rather than from the view model down.
-
-For further discussion on view models, see xref:ugbtb.adoc#_ugbtb_more-advanced_view-models[this topic].
-
-
-
-
-[[_ug_core-concepts_building-blocks_domain-services]]
-== Domain Services
-
-Domain services consist of a set of logically grouped actions, and as such follow the same conventions as for entities. However, a service cannot have (persisted) properties, nor can it have (persisted) collections.
-
-Domain services are instantiated once and once only by the framework, and are used to centralize any domain logic that does not logically belong in a domain entity or value. Apache Isis will automatically inject services into every domain entity that requests them, and into each other.
-
-For convenience you can inherit from AbstractService or one of its subclasses, but this is not mandatory.
-
-
-=== Domain Services vs View Services
-
-NOTE: TODO
-
-`@DomainService(nature=...)`
-
-.Factories, Repositories and Services
-****
-A distinction is sometimes made between a factory (that creates object) and a repository (that is used to find existing objects). You will find them discussed separately in Evans' link:http://books.google.com/books/about/Domain_Driven_Design.html?id=hHBf4YxMnWMC[Domain Driven Design], for example.
-
-In Apache Isis these are all implemented as domain services. Indeed, it is quite common to have a domain service that acts as both a factory and a repository.
-****
-
-
-
-[[_ug_core-concepts_building-blocks_mixins-and-contributions]]
-== Mixins & Contributions
-
-NOTE: TODO
-
-
-For more information, see xref:ugbtb.adoc#_ugbtb_more-advanced_decoupling_contributions[this topic on contribution]s, and
-xref:ugbtb.adoc#_ugbtb_more-advanced_decoupling_mixins[this topic on mixin]s.
-
-
-
-[[_ug_core-concepts_building-blocks_domain-events]]
-== Domain Events
-
-NOTE: TODO; see xref:rgcms.adoc#_rgcms_classes_domainevent[domain event] classes.
-
-
-
-=== UI Events (`1.11.0-SNAPSHOT`)
-
-NOTE: TODO; see xref:rgcms.adoc#_rgcms_classes_uievent[UI event] classes.
-
-
-
-
-[[_ug_core-concepts_building-blocks_oid]]
-== OIDs
-
-As well as defining a xref:ug.adoc#_ug_core-concepts_building-blocks_metamodel[metamodel] of the structure (domain
-classes) of its domain objects, Apache Isis also manages the runtime instances of said domain objects.
-
-When a domain entity is recreated from the database, the framework keeps track of its identity through an "OID": an
-object identifier. Fundamentally this is a combination of its type (domain class), along with an identifier. You can think
-of it as its "primary key", except across all domain entity types.
-
-For portability and resilience, though, the object type is generally an alias for the actual domain class: thus
-"customers.CUS", say, rather than "com.mycompany.myapp.customers.Customer". This is derived from an annotation. The
-identifier meanwhile is always converted to a string.
-
-Although simple, the OID is an enormously powerful concept: it represents a URI to any domain object managed by
-a given Apache Isis application. With it, we have the ability to lookup any arbitrary domain objects.
-
-Some examples:
-
-* an OID allows sharing of information between users, eg as a deep link to be pasted into an email.
-
-* the information within an OID could be converted into a barcode, and stamped onto a PDF form. When the PDF is
-scanned by the mail room, the barcode could be read to attach the correspondence to the relevant domain object.
-
-* as a handle to any object in an audit record (as used by the
-xref:rgsvc.adoc#_rgsvc-spi_AuditingService[`AuditingService`], in fact).
-
-* and of course both the xref:ugvro.adoc#[RestfulObjects viewer] and
-xref:ugvw.adoc#[Wicket viewer]
-use the oid tuple to look up, render and allow the user to interact with domain objects.
-
-Although the exact content of an OID should be considered opaque by domain objects, it is possible for domain objects
-to obtain OIDs. These are represented as `Bookmark`s, obtained from the
-xref:rgsvc.adoc#_rgsvc-api_BookmarkService[`BookmarkService`]. Deep links meanwhile can be obtained from
-the xref:rgant.adoc#_rgant-DeepLinkService[`@DeepLinkService`].
-
-OIDs can also be converted into XML format, useful for integration scenarios. The
-xref:rgcms.adoc#_rgcms_schema-common[common schema] XSD defines the `oidDto` complex type for precisely this purpose.
-
-
-
-[[_ug_core-concepts_building-blocks_value-objects]]
-== Value Objects (Primitives)
-
-NOTE: TODO
-
-
-
-
http://git-wip-us.apache.org/repos/asf/isis/blob/1ad82470/adocs/documentation/src/main/asciidoc/guides/_ug_core-concepts_framework-provided-services.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/_ug_core-concepts_framework-provided-services.adoc b/adocs/documentation/src/main/asciidoc/guides/_ug_core-concepts_framework-provided-services.adoc
deleted file mode 100644
index dc63979..0000000
--- a/adocs/documentation/src/main/asciidoc/guides/_ug_core-concepts_framework-provided-services.adoc
+++ /dev/null
@@ -1,54 +0,0 @@
-[[_ug_core-concepts_framework-provided-services]]
-= Framework-provided Services
-: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/
-
-
-Most framework domain services are API: they exist to provide support functionality to the application's domain objects and services. In this case an implementation of the service will be available, either by Apache Isis itself or by Isis Addons (non ASF).
-
-Some framework domain services are SPI: they exist primarily so that the application can influence the framework's behaviour. In these cases there is (usually) no default implementation; it is up to the application to provide an implementation.
-
-
-General purpose:
-
-* xref:rgsvc.adoc#_rgsvc-api_DomainObjectContainer[`DomainObjectContainer`]
-* xref:rgsvc.adoc#_rgsvc-api_ClockService[`ClockService`]
-* xref:rgsvc.adoc#_rgsvc-api_IsisJdoSupport[`IsisJdoSupport`]
-* xref:rgsvc.adoc#_rgsvc-api_WrapperFactory[`WrapperFactory`]
-* xref:rgsvc.adoc#_rgsvc-api_EventBusService[`EventBusService`]
-* xref:rgsvc.adoc#_rgsvc-api_EmailService[`EmailService`]
-
-Commands/Background/Auditing:
-
-* xref:rgsvc.adoc#_rgsvc-api_CommandContext[`CommandContext`] (SPI)
-* xref:rgsvc.adoc#_rgsvc-spi_CommandService[`CommandService`] (SPI)
-* xref:rgsvc.adoc#_rgsvc-spi_AuditingService[`AuditingService`] (SPI)
-* xref:rgsvc.adoc#_rgsvc-api_BackgroundService[`BackgroundService`]
-* xref:rgsvc.adoc#_rgsvc-spi_BackgroundCommandService[`BackgroundCommandService`] (SPI)
-* xref:rgsvc.adoc#_rgsvc-spi_PublishingService[`PublishingService`] (SPI)
-
-Information Sharing:
-
-* xref:rgsvc.adoc#_rgsvc-api_Scratchpad[`Scratchpad`]
-* xref:rgsvc.adoc#_rgsvc-api_ActionInvocationContext[`ActionInvocationContext`]
-* xref:rgsvc.adoc#_rgsvc-api_QueryResultsCache[`QueryResultsCache`]
-
-
-UserManagement:
-
-* xref:rgsvc.adoc#_rgsvc-spi_UserProfileService[`UserProfileService`] (SPI)
-* xref:rgsvc.adoc#_rgsvc-spi_UserRegistrationService[`UserRegistrationService`] (SPI)
-* xref:rgsvc.adoc#_rgsvc-spi_EmailNotificationService[`EmailNotificationService`] (SPI)
-
-
-Bookmarks and Mementos:
-
-* xref:rgsvc.adoc#_rgsvc-api_BookmarkService[`BookmarkService`]
-* xref:rgsvc.adoc#_rgsvc-api_MementoService[`MementoService`]
-* xref:rgsvc.adoc#_rgsvc-api_DeepLinkService[`DeepLinkService`]
-* xref:rgsvc.adoc#_rgsvc-api_XmlSnapshotService[`XmlSnapshotService`]
-
-
-A full list of services can be found in the xref:rgsvc.adoc#_rgsvc-api[Domain Services (API)] and xref:rgsvc.adoc#_rgsvc-spi[Domain Services (SPI)] chapters of the reference guide.
-
http://git-wip-us.apache.org/repos/asf/isis/blob/1ad82470/adocs/documentation/src/main/asciidoc/guides/_ug_core-concepts_other-deployment-options.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/_ug_core-concepts_other-deployment-options.adoc b/adocs/documentation/src/main/asciidoc/guides/_ug_core-concepts_other-deployment-options.adoc
deleted file mode 100644
index 6e2b359..0000000
--- a/adocs/documentation/src/main/asciidoc/guides/_ug_core-concepts_other-deployment-options.adoc
+++ /dev/null
@@ -1,81 +0,0 @@
-[[_ug_core-concepts_other-deployment-options]]
-= Other Deployment Options
-: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/
-
-
-
-Apache Isis is a mature platform suitable for production deployment, with its "sweet spot" being line-of-business enterprise applications. So if you're looking to develop that sort of application, we certainly hope you'll seriously evaluate it.
-
-But there are other ways that you can make Apache Isis work for you; in this chapter we explore a few of them.
-
-
-
-== Deploy to production
-
-Let's start though with the default use case for Apache Isis: building line-of-business enterprise applications, on top of its Wicket viewer.
-
-Apache Wicket, and therefore Apache Isis in this configuration, is a stateful architecture. As a platform it is certainly capable of supporting user bases of several thousand (with perhaps one or two hundred concurrent); however it isn't an architecture that you should try to scale up to tens of thousands of concurrent users.
-
-The UI UI generated by the Wicket viewer is well suited to many line-of-business apps, but it's also worth knowing that (with a little knowledge of the Wicket APIs) it relatively straightforward to extend. As described in xref:ug.adoc#_ug_core-concepts_add-ons[Isis addons] chapter, the viewer already has integrations with https://github.com/isisaddons/isis-wicket-gmap3[google maps], https://github.com/isisaddons/isis-wicket-fullcalendar2[a full calendar] and an https://github.com/isisaddons/isis-wicket-excel[export to Excel] component. We are also aware of integrations with SVG images (for floor maps of shopping center) and of custom widgets displaying a catalogue (text and images) of medical diseases.
-
-Deploying on Apache Isis means that the framework also manages object persistence. For many line-of-business applications this will mean using a relational database. It is also possible (courtesy of its integratinon with link:http://www.datanucleus.org[DataNucleus]) to deploy an Isis app to a NoSQL store such as Neo4J or MongoDB; and it is also possible to deploy to cloud platforms such as link:https://cloud.google.com/appengine/docs[Google App Engine (GAE)].
-
-
-
-== Use for prototyping
-
-Even if you don't intend to deploy your application on top of Apache Isis, there can be a lot of value in using Apache Isis for prototyping. Because all you need do to get an app running is write domain objects, you can very quickly explore a domain object model and validate ideas with a domain expert.
-
-By focusing just on the domain, you'll also find that you start to develop a ubiquitous language - a set of terms and concepts that the entire team (business and technologists alike) have a shared understanding.
-
-Once you've sketched out your domain model, you can then "start-over" using your preferred platform.
-
-
-
-
-
-== Deploy on your own platform
-
-The programming model defined by Apache Isis deliberately minimizes the dependencies on the rest of the framework. In fact, the only hard dependency that the domain model classes have on Apache Isis is through the `org.apache.isis.applib` classes, mostly to pick up annotations such as `@Disabled`.
-So, if you have used Apache Isis for prototyping (discussed above), then note that it's quite feasible to take your domain model a the basis of your actual development effort; Apache Isis' annotations and programming conventions will help ensure that any subtle semantics you might have captured in your prototyping are not lost.
-
-If you go this route, your deployment platform will of course need to provide similar capabilities to Apache Isis. In particular, you'll need to figure out a way to inject domain services into domain entities (eg using a JPA listener), and you'll also need to reimplement any domain services you have used that Apache Isis provides "out-of-the-box" (eg xref:rgsvc.adoc#_rgsvc-api_QueryResultsCache[`QueryResultsCache`] domain service).
-
-
-
-
-
-== Deploy the REST API
-
-REST (Representation State Transfer) is an architectural style for building highly scalable distributed systems, using the same principles as the World Wide Web. Many commercial web APIs (twitter, facebook, Amazon) are implemented as either pure REST APIs or some approximation therein.
-
-The http://restfulobjects.org[Restful Objects specification] defines a means by a domain object model can be exposed as RESTful resources using JSON representations over HTTP. Apache Isis' xref:ugvro.adoc#[RestfulObjects viewer] is an implementation of that spec, making any Apache Isis domain object automatically available via REST.
-
-There are a number of use cases for deploying Isis as a REST API, including:
-
-* to allow a custom UI to be built against the RESTful API +
-+
-For example, using AngularJS or some other RIA technology such as Flex, JavaFX, Silverlight
-
-* to enable integration between systems +
-+
-REST is designed to be machine-readable, and so is an excellent choice for synchronous data interchange scenarios.
-
-* as a ready-made API for migrating data from one legacy system to its replacement.
-
-
-As for the auto-generated webapps, the framework manages object persistence. It is perfectly possible to deploy the REST API alongside an auto-generated webapp; both work from the same domain object model.
-
-
-
-
-
-== Implement your own viewer
-
-Isis' architecture was always designed to support multiple viewers; and indeed Apache Isis out-of-the-box supports two: the Wicket viewer, and the Restful Objects viewer (or three, if one includes the Wrapper Factory).
-
-While we mustn't understate the effort involved here, it is feasible to implement your own viewers too. Indeed, one of Apache Isis' committers does indeed have a (closed source) viewer, based on http://www.wavemaker.com/[Wavemaker].
-
-
http://git-wip-us.apache.org/repos/asf/isis/blob/1ad82470/adocs/documentation/src/main/asciidoc/guides/_ug_core-concepts_philosophy.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/_ug_core-concepts_philosophy.adoc b/adocs/documentation/src/main/asciidoc/guides/_ug_core-concepts_philosophy.adoc
deleted file mode 100644
index b31b507..0000000
--- a/adocs/documentation/src/main/asciidoc/guides/_ug_core-concepts_philosophy.adoc
+++ /dev/null
@@ -1,21 +0,0 @@
-[[_ug_core-concepts_philosophy]]
-= Philosophy and Architecture
-: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/
-
-This section describes some of the core ideas and architectural patterns upon which Apache Isis builds.
-
-include::_ug_core-concepts_philosophy_domain-driven-design.adoc[leveloffset=+1]
-
-include::_ug_core-concepts_philosophy_naked-objects-pattern.adoc[leveloffset=+1]
-
-include::_ug_core-concepts_philosophy_hexagonal-architecture.adoc[leveloffset=+1]
-
-include::_ug_core-concepts_philosophy_aop.adoc[leveloffset=+1]
-
-// include::_ug_core-concepts_philosophy_dci.adoc[leveloffset=+1]
-
-include::_ug_core-concepts_philosophy_how-eases-ddd.adoc[leveloffset=+1]
-
-
http://git-wip-us.apache.org/repos/asf/isis/blob/1ad82470/adocs/documentation/src/main/asciidoc/guides/_ug_core-concepts_philosophy_aop.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/_ug_core-concepts_philosophy_aop.adoc b/adocs/documentation/src/main/asciidoc/guides/_ug_core-concepts_philosophy_aop.adoc
deleted file mode 100644
index cf206fc..0000000
--- a/adocs/documentation/src/main/asciidoc/guides/_ug_core-concepts_philosophy_aop.adoc
+++ /dev/null
@@ -1,36 +0,0 @@
-[[_ug_core-concepts_philosophy_aop]]
-= Aspect Oriented
-: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/
-
-
-Although not a book about object modelling, Evans' "Domain Driven Design" does use object orientation as its primary modelling tool; while xref:ug.adoc#_ug_core-concepts_philosophy_naked-objects-pattern[naked objects pattern] very much comes from an OO background (it even has 'object' in its name); Richard Pawson lists Alan Kay as a key influence.
-
-It's certainly true that to develop an Apache Isis application you will need to have good object oriented modelling skills. But given that all the mainstream languages for developing business systems are object oriented (Java, C#, Ruby), that's not such a stretch.
-
-However, what you'll also find as you write your applications is that in some ways an Isis application is more aspect-oriented than it is object oriented. Given that aspect-orientation -- as a programming paradigm at least -- hasn't caught on, that statement probably needs unpacking a little.
-
-== AOP Concepts
-
-Aspect-orientation, then, is a different way of decomposing your application, by treating _cross-cutting concerns_ as a first-class citizen. The canonical (also rather boring) example of a cross-cutting concern is that of logging (or tracing) all method calls. An aspect can be written that will weave in some code (a logging statement) at specified points in the code).
-
-This idea sounds rather abstract, but what it really amounts to is the idea of interceptors. When one method calls another the AOP code is called in first. This is actually then one bit of AOP that is quite mainstream; DI containers such as Spring provide aspect orientation in supporting annotations such as `@Transactional` or `@Secured` to java beans.
-
-Another aspect (ahem!) of aspect-oriented programming has found its way into other programming languages, that of a mix-in or trait. In languages such as Scala these mix-ins are specified statically as part of the inheritance hierarchy, whereas with AOP the binding of a trait to some other class/type is done without the class "knowing" that additional behaviour is being mixed-in to it.
-
-== Realization within Apache Isis
-
-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.
-
-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:ugbtb.adoc#_ugbtb_more-advanced_decoupling[Decoupling]. But fundamentally its relying on this AOP concept of interceptors.
-
-Finally, Isis also a feature that is akin to AOP mix-ins. A "contributed action" is one that is implemented on a domain service but that appears to be a behaviour of rendered domain object. In other words, we can dissociate behaviour from data. That's not always the right thing to do of course. In Richard Pawson's description of the xref:ug.adoc#_ug_core-concepts_philosophy_naked-objects-pattern[naked objects pattern] he talks about "behaviourally rich" objects, in other words where the business functionality encapsulated the data. But on the other hand sometimes the behaviour and data structures change at different rates. The link:http://en.wikipedia.org/wiki/Single_responsibility_principle[single responsibility principle] says we should only lump code together that changes at the same rate. Apache Isis' support for contributions (not only contributed actions, but also contributed properties and contributed collections) enables this. And again, to loop back to the topic of
this section, it's an AOP concept that being implemented by the framework.
-
-The nice thing about aspect orientation is that for the most part you can ignore these cross-cutting concerns and - at least initially at least - just focus on implementing your domain object. Later when your app starts to grow and you start to break it out into smaller modules, you can leverage Apache Isis' AOP support for (xref:ugbtb.adoc#_ugbtb_more-advanced_decoupling_mixins[mixins]), (xref:ugbtb.adoc#_ugbtb_more-advanced_decoupling_contributions[contributions]) and interceptors (the xref:ugbtb.adoc#_ugbtb_more-advanced_decoupling_event-bus[event bus]) to ensure that your codebase remains maintainable.
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/isis/blob/1ad82470/adocs/documentation/src/main/asciidoc/guides/_ug_core-concepts_philosophy_dci.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/_ug_core-concepts_philosophy_dci.adoc b/adocs/documentation/src/main/asciidoc/guides/_ug_core-concepts_philosophy_dci.adoc
deleted file mode 100644
index 75d9786..0000000
--- a/adocs/documentation/src/main/asciidoc/guides/_ug_core-concepts_philosophy_dci.adoc
+++ /dev/null
@@ -1,9 +0,0 @@
-[[_ug_core-concepts_philosophy_dci]]
-= DCI
-: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/
-
-
-NOTE: TODO ... Trygve Reenskaug
-