http://git-wip-us.apache.org/repos/asf/isis-site/blob/9d921a51/content/guides/ugfun/images/core-concepts/building-blocks/types-of-domain-object.png
----------------------------------------------------------------------
diff --git 
a/content/guides/ugfun/images/core-concepts/building-blocks/types-of-domain-object.png
 
b/content/guides/ugfun/images/core-concepts/building-blocks/types-of-domain-object.png
deleted file mode 100644
index 1ec6e18..0000000
Binary files 
a/content/guides/ugfun/images/core-concepts/building-blocks/types-of-domain-object.png
 and /dev/null differ

http://git-wip-us.apache.org/repos/asf/isis-site/blob/9d921a51/content/guides/ugfun/images/core-concepts/building-blocks/types-of-domain-object.pptx
----------------------------------------------------------------------
diff --git 
a/content/guides/ugfun/images/core-concepts/building-blocks/types-of-domain-object.pptx
 
b/content/guides/ugfun/images/core-concepts/building-blocks/types-of-domain-object.pptx
deleted file mode 100644
index c0be2a5..0000000
Binary files 
a/content/guides/ugfun/images/core-concepts/building-blocks/types-of-domain-object.pptx
 and /dev/null differ

http://git-wip-us.apache.org/repos/asf/isis-site/blob/9d921a51/content/guides/ugfun/images/core-concepts/philosophy/hexagonal-architecture.png
----------------------------------------------------------------------
diff --git 
a/content/guides/ugfun/images/core-concepts/philosophy/hexagonal-architecture.png
 
b/content/guides/ugfun/images/core-concepts/philosophy/hexagonal-architecture.png
index d8b28bd..9d9a2c6 100644
Binary files 
a/content/guides/ugfun/images/core-concepts/philosophy/hexagonal-architecture.png
 and 
b/content/guides/ugfun/images/core-concepts/philosophy/hexagonal-architecture.png
 differ

http://git-wip-us.apache.org/repos/asf/isis-site/blob/9d921a51/content/guides/ugfun/images/core-concepts/philosophy/hexagonal-architecture.pptx
----------------------------------------------------------------------
diff --git 
a/content/guides/ugfun/images/core-concepts/philosophy/hexagonal-architecture.pptx
 
b/content/guides/ugfun/images/core-concepts/philosophy/hexagonal-architecture.pptx
index 3eb0aad..f6c7adb 100644
Binary files 
a/content/guides/ugfun/images/core-concepts/philosophy/hexagonal-architecture.pptx
 and 
b/content/guides/ugfun/images/core-concepts/philosophy/hexagonal-architecture.pptx
 differ

http://git-wip-us.apache.org/repos/asf/isis-site/blob/9d921a51/content/guides/ugfun/images/getting-started/simpleapp-webapp-with-fixtures.png
----------------------------------------------------------------------
diff --git 
a/content/guides/ugfun/images/getting-started/simpleapp-webapp-with-fixtures.png
 
b/content/guides/ugfun/images/getting-started/simpleapp-webapp-with-fixtures.png
index 1dd885a..292698f 100644
Binary files 
a/content/guides/ugfun/images/getting-started/simpleapp-webapp-with-fixtures.png
 and 
b/content/guides/ugfun/images/getting-started/simpleapp-webapp-with-fixtures.png
 differ

http://git-wip-us.apache.org/repos/asf/isis-site/blob/9d921a51/content/guides/ugfun/images/getting-started/simpleapp-webapp.png
----------------------------------------------------------------------
diff --git a/content/guides/ugfun/images/getting-started/simpleapp-webapp.png 
b/content/guides/ugfun/images/getting-started/simpleapp-webapp.png
index 771451b..482531b 100644
Binary files a/content/guides/ugfun/images/getting-started/simpleapp-webapp.png 
and b/content/guides/ugfun/images/getting-started/simpleapp-webapp.png differ

http://git-wip-us.apache.org/repos/asf/isis-site/blob/9d921a51/content/guides/ugfun/images/getting-started/using-simple-app/010-root-page.png
----------------------------------------------------------------------
diff --git 
a/content/guides/ugfun/images/getting-started/using-simple-app/010-root-page.png
 
b/content/guides/ugfun/images/getting-started/using-simple-app/010-root-page.png
deleted file mode 100644
index 74e5ff9..0000000
Binary files 
a/content/guides/ugfun/images/getting-started/using-simple-app/010-root-page.png
 and /dev/null differ

http://git-wip-us.apache.org/repos/asf/isis-site/blob/9d921a51/content/guides/ugfun/images/getting-started/using-simple-app/020-login-to-wicket-viewer.png
----------------------------------------------------------------------
diff --git 
a/content/guides/ugfun/images/getting-started/using-simple-app/020-login-to-wicket-viewer.png
 
b/content/guides/ugfun/images/getting-started/using-simple-app/020-login-to-wicket-viewer.png
deleted file mode 100644
index fc0d919..0000000
Binary files 
a/content/guides/ugfun/images/getting-started/using-simple-app/020-login-to-wicket-viewer.png
 and /dev/null differ

http://git-wip-us.apache.org/repos/asf/isis-site/blob/9d921a51/content/guides/ugfun/images/getting-started/using-simple-app/030-home-page-run-fixture-scripts.png
----------------------------------------------------------------------
diff --git 
a/content/guides/ugfun/images/getting-started/using-simple-app/030-home-page-run-fixture-scripts.png
 
b/content/guides/ugfun/images/getting-started/using-simple-app/030-home-page-run-fixture-scripts.png
deleted file mode 100644
index 3a1bb54..0000000
Binary files 
a/content/guides/ugfun/images/getting-started/using-simple-app/030-home-page-run-fixture-scripts.png
 and /dev/null differ

http://git-wip-us.apache.org/repos/asf/isis-site/blob/9d921a51/content/guides/ugfun/images/getting-started/using-simple-app/040-first-object.png
----------------------------------------------------------------------
diff --git 
a/content/guides/ugfun/images/getting-started/using-simple-app/040-first-object.png
 
b/content/guides/ugfun/images/getting-started/using-simple-app/040-first-object.png
deleted file mode 100644
index bc999ee..0000000
Binary files 
a/content/guides/ugfun/images/getting-started/using-simple-app/040-first-object.png
 and /dev/null differ

http://git-wip-us.apache.org/repos/asf/isis-site/blob/9d921a51/content/guides/ugfun/images/getting-started/using-simple-app/050-update-name-prompt.png
----------------------------------------------------------------------
diff --git 
a/content/guides/ugfun/images/getting-started/using-simple-app/050-update-name-prompt.png
 
b/content/guides/ugfun/images/getting-started/using-simple-app/050-update-name-prompt.png
deleted file mode 100644
index 166e533..0000000
Binary files 
a/content/guides/ugfun/images/getting-started/using-simple-app/050-update-name-prompt.png
 and /dev/null differ

http://git-wip-us.apache.org/repos/asf/isis-site/blob/9d921a51/content/guides/ugfun/images/getting-started/using-simple-app/060-object-updated.png
----------------------------------------------------------------------
diff --git 
a/content/guides/ugfun/images/getting-started/using-simple-app/060-object-updated.png
 
b/content/guides/ugfun/images/getting-started/using-simple-app/060-object-updated.png
deleted file mode 100644
index d34888a..0000000
Binary files 
a/content/guides/ugfun/images/getting-started/using-simple-app/060-object-updated.png
 and /dev/null differ

http://git-wip-us.apache.org/repos/asf/isis-site/blob/9d921a51/content/guides/ugfun/images/getting-started/using-simple-app/070-list-all-prompt.png
----------------------------------------------------------------------
diff --git 
a/content/guides/ugfun/images/getting-started/using-simple-app/070-list-all-prompt.png
 
b/content/guides/ugfun/images/getting-started/using-simple-app/070-list-all-prompt.png
deleted file mode 100644
index 59cc275..0000000
Binary files 
a/content/guides/ugfun/images/getting-started/using-simple-app/070-list-all-prompt.png
 and /dev/null differ

http://git-wip-us.apache.org/repos/asf/isis-site/blob/9d921a51/content/guides/ugfun/images/getting-started/using-simple-app/080-list-all.png
----------------------------------------------------------------------
diff --git 
a/content/guides/ugfun/images/getting-started/using-simple-app/080-list-all.png 
b/content/guides/ugfun/images/getting-started/using-simple-app/080-list-all.png
deleted file mode 100644
index e3e67cf..0000000
Binary files 
a/content/guides/ugfun/images/getting-started/using-simple-app/080-list-all.png 
and /dev/null differ

http://git-wip-us.apache.org/repos/asf/isis-site/blob/9d921a51/content/guides/ugfun/images/getting-started/using-simple-app/090-create.png
----------------------------------------------------------------------
diff --git 
a/content/guides/ugfun/images/getting-started/using-simple-app/090-create.png 
b/content/guides/ugfun/images/getting-started/using-simple-app/090-create.png
deleted file mode 100644
index f5708ec..0000000
Binary files 
a/content/guides/ugfun/images/getting-started/using-simple-app/090-create.png 
and /dev/null differ

http://git-wip-us.apache.org/repos/asf/isis-site/blob/9d921a51/content/guides/ugfun/images/getting-started/using-simple-app/100-create-prompt.png
----------------------------------------------------------------------
diff --git 
a/content/guides/ugfun/images/getting-started/using-simple-app/100-create-prompt.png
 
b/content/guides/ugfun/images/getting-started/using-simple-app/100-create-prompt.png
deleted file mode 100644
index 9829512..0000000
Binary files 
a/content/guides/ugfun/images/getting-started/using-simple-app/100-create-prompt.png
 and /dev/null differ

http://git-wip-us.apache.org/repos/asf/isis-site/blob/9d921a51/content/guides/ugfun/images/getting-started/using-simple-app/110-object-created.png
----------------------------------------------------------------------
diff --git 
a/content/guides/ugfun/images/getting-started/using-simple-app/110-object-created.png
 
b/content/guides/ugfun/images/getting-started/using-simple-app/110-object-created.png
deleted file mode 100644
index 31696f3..0000000
Binary files 
a/content/guides/ugfun/images/getting-started/using-simple-app/110-object-created.png
 and /dev/null differ

http://git-wip-us.apache.org/repos/asf/isis-site/blob/9d921a51/content/guides/ugfun/images/getting-started/using-simple-app/120-list-all.png
----------------------------------------------------------------------
diff --git 
a/content/guides/ugfun/images/getting-started/using-simple-app/120-list-all.png 
b/content/guides/ugfun/images/getting-started/using-simple-app/120-list-all.png
deleted file mode 100644
index 75a4e04..0000000
Binary files 
a/content/guides/ugfun/images/getting-started/using-simple-app/120-list-all.png 
and /dev/null differ

http://git-wip-us.apache.org/repos/asf/isis-site/blob/9d921a51/content/guides/ugfun/images/getting-started/using-simple-app/220-login-to-restful-viewer.png
----------------------------------------------------------------------
diff --git 
a/content/guides/ugfun/images/getting-started/using-simple-app/220-login-to-restful-viewer.png
 
b/content/guides/ugfun/images/getting-started/using-simple-app/220-login-to-restful-viewer.png
deleted file mode 100644
index 1b364b5..0000000
Binary files 
a/content/guides/ugfun/images/getting-started/using-simple-app/220-login-to-restful-viewer.png
 and /dev/null differ

http://git-wip-us.apache.org/repos/asf/isis-site/blob/9d921a51/content/guides/ugfun/images/getting-started/using-simple-app/230-home-page.png
----------------------------------------------------------------------
diff --git 
a/content/guides/ugfun/images/getting-started/using-simple-app/230-home-page.png
 
b/content/guides/ugfun/images/getting-started/using-simple-app/230-home-page.png
deleted file mode 100644
index d032e68..0000000
Binary files 
a/content/guides/ugfun/images/getting-started/using-simple-app/230-home-page.png
 and /dev/null differ

http://git-wip-us.apache.org/repos/asf/isis-site/blob/9d921a51/content/guides/ugfun/images/getting-started/using-simple-app/240-list-all-invoke.png
----------------------------------------------------------------------
diff --git 
a/content/guides/ugfun/images/getting-started/using-simple-app/240-list-all-invoke.png
 
b/content/guides/ugfun/images/getting-started/using-simple-app/240-list-all-invoke.png
deleted file mode 100644
index 57971ef..0000000
Binary files 
a/content/guides/ugfun/images/getting-started/using-simple-app/240-list-all-invoke.png
 and /dev/null differ

http://git-wip-us.apache.org/repos/asf/isis-site/blob/9d921a51/content/guides/ugfun/images/getting-started/using-simple-app/250-list-all-results.png
----------------------------------------------------------------------
diff --git 
a/content/guides/ugfun/images/getting-started/using-simple-app/250-list-all-results.png
 
b/content/guides/ugfun/images/getting-started/using-simple-app/250-list-all-results.png
deleted file mode 100644
index b8c8b8b..0000000
Binary files 
a/content/guides/ugfun/images/getting-started/using-simple-app/250-list-all-results.png
 and /dev/null differ

http://git-wip-us.apache.org/repos/asf/isis-site/blob/9d921a51/content/guides/ugfun/images/getting-started/using-simple-app/structure/structure.png
----------------------------------------------------------------------
diff --git 
a/content/guides/ugfun/images/getting-started/using-simple-app/structure/structure.png
 
b/content/guides/ugfun/images/getting-started/using-simple-app/structure/structure.png
deleted file mode 100644
index 909d09b..0000000
Binary files 
a/content/guides/ugfun/images/getting-started/using-simple-app/structure/structure.png
 and /dev/null differ

http://git-wip-us.apache.org/repos/asf/isis-site/blob/9d921a51/content/guides/ugfun/images/getting-started/using-simple-app/structure/structure.pptx
----------------------------------------------------------------------
diff --git 
a/content/guides/ugfun/images/getting-started/using-simple-app/structure/structure.pptx
 
b/content/guides/ugfun/images/getting-started/using-simple-app/structure/structure.pptx
index 230963a..a3323c2 100644
Binary files 
a/content/guides/ugfun/images/getting-started/using-simple-app/structure/structure.pptx
 and 
b/content/guides/ugfun/images/getting-started/using-simple-app/structure/structure.pptx
 differ

http://git-wip-us.apache.org/repos/asf/isis-site/blob/9d921a51/content/guides/ugfun/images/how-tos/domain-services/hexagonal-architecture-addons.png
----------------------------------------------------------------------
diff --git 
a/content/guides/ugfun/images/how-tos/domain-services/hexagonal-architecture-addons.png
 
b/content/guides/ugfun/images/how-tos/domain-services/hexagonal-architecture-addons.png
deleted file mode 100644
index af32db1..0000000
Binary files 
a/content/guides/ugfun/images/how-tos/domain-services/hexagonal-architecture-addons.png
 and /dev/null differ

http://git-wip-us.apache.org/repos/asf/isis-site/blob/9d921a51/content/guides/ugfun/images/how-tos/tips-n-tricks/action-semantics-are-you-sure.png
----------------------------------------------------------------------
diff --git 
a/content/guides/ugfun/images/how-tos/tips-n-tricks/action-semantics-are-you-sure.png
 
b/content/guides/ugfun/images/how-tos/tips-n-tricks/action-semantics-are-you-sure.png
deleted file mode 100644
index f0cf269..0000000
Binary files 
a/content/guides/ugfun/images/how-tos/tips-n-tricks/action-semantics-are-you-sure.png
 and /dev/null differ

http://git-wip-us.apache.org/repos/asf/isis-site/blob/9d921a51/content/guides/ugfun/images/how-tos/tips-n-tricks/are-you-sure-happy-case.png
----------------------------------------------------------------------
diff --git 
a/content/guides/ugfun/images/how-tos/tips-n-tricks/are-you-sure-happy-case.png 
b/content/guides/ugfun/images/how-tos/tips-n-tricks/are-you-sure-happy-case.png
deleted file mode 100644
index 1981c09..0000000
Binary files 
a/content/guides/ugfun/images/how-tos/tips-n-tricks/are-you-sure-happy-case.png 
and /dev/null differ

http://git-wip-us.apache.org/repos/asf/isis-site/blob/9d921a51/content/guides/ugfun/images/how-tos/tips-n-tricks/are-you-sure-sad-case.png
----------------------------------------------------------------------
diff --git 
a/content/guides/ugfun/images/how-tos/tips-n-tricks/are-you-sure-sad-case.png 
b/content/guides/ugfun/images/how-tos/tips-n-tricks/are-you-sure-sad-case.png
deleted file mode 100644
index 6182447..0000000
Binary files 
a/content/guides/ugfun/images/how-tos/tips-n-tricks/are-you-sure-sad-case.png 
and /dev/null differ

http://git-wip-us.apache.org/repos/asf/isis-site/blob/9d921a51/content/guides/ugfun/images/how-tos/tips-n-tricks/are-you-sure.png
----------------------------------------------------------------------
diff --git a/content/guides/ugfun/images/how-tos/tips-n-tricks/are-you-sure.png 
b/content/guides/ugfun/images/how-tos/tips-n-tricks/are-you-sure.png
deleted file mode 100644
index e1a76fe..0000000
Binary files 
a/content/guides/ugfun/images/how-tos/tips-n-tricks/are-you-sure.png and 
/dev/null differ

http://git-wip-us.apache.org/repos/asf/isis-site/blob/9d921a51/content/guides/ugfun/images/reference-layout/4-0-8-0.png
----------------------------------------------------------------------
diff --git a/content/guides/ugfun/images/reference-layout/4-0-8-0.png 
b/content/guides/ugfun/images/reference-layout/4-0-8-0.png
deleted file mode 100644
index 1ebb062..0000000
Binary files a/content/guides/ugfun/images/reference-layout/4-0-8-0.png and 
/dev/null differ

http://git-wip-us.apache.org/repos/asf/isis-site/blob/9d921a51/content/guides/ugfun/images/reference-layout/4-4-4-12.png
----------------------------------------------------------------------
diff --git a/content/guides/ugfun/images/reference-layout/4-4-4-12.png 
b/content/guides/ugfun/images/reference-layout/4-4-4-12.png
deleted file mode 100644
index fd946bf..0000000
Binary files a/content/guides/ugfun/images/reference-layout/4-4-4-12.png and 
/dev/null differ

http://git-wip-us.apache.org/repos/asf/isis-site/blob/9d921a51/content/guides/ugfun/images/reference-layout/6-6-0-12.png
----------------------------------------------------------------------
diff --git a/content/guides/ugfun/images/reference-layout/6-6-0-12.png 
b/content/guides/ugfun/images/reference-layout/6-6-0-12.png
deleted file mode 100644
index 369efb7..0000000
Binary files a/content/guides/ugfun/images/reference-layout/6-6-0-12.png and 
/dev/null differ

http://git-wip-us.apache.org/repos/asf/isis-site/blob/9d921a51/content/guides/ugfun/images/reference-layout/isis-layout-show-facets.css
----------------------------------------------------------------------
diff --git 
a/content/guides/ugfun/images/reference-layout/isis-layout-show-facets.css 
b/content/guides/ugfun/images/reference-layout/isis-layout-show-facets.css
deleted file mode 100644
index c6b6334..0000000
--- a/content/guides/ugfun/images/reference-layout/isis-layout-show-facets.css
+++ /dev/null
@@ -1,3 +0,0 @@
-ul.isis-facets {
-    display: initial;
-}

http://git-wip-us.apache.org/repos/asf/isis-site/blob/9d921a51/content/guides/ugfun/images/reference-layout/isis-layout.css
----------------------------------------------------------------------
diff --git a/content/guides/ugfun/images/reference-layout/isis-layout.css 
b/content/guides/ugfun/images/reference-layout/isis-layout.css
deleted file mode 100644
index acd445d..0000000
--- a/content/guides/ugfun/images/reference-layout/isis-layout.css
+++ /dev/null
@@ -1,253 +0,0 @@
-.primary-1 {
-    background-color: #669900;
-}
-
-.primary-2 {
-    background-color: #669900;
-}
-
-.primary-3 {
-    background-color: #669900;
-}
-
-.primary-4 {
-    background-color: #99FF66;
-}
-
-.primary-5 {
-    background-color: #CCFF99;
-}
-
-.secondary-a-1 {
-    background-color: #006666;
-}
-
-.secondary-a-2 {
-    background-color: #006666;
-}
-
-.secondary-a-3 {
-    background-color: #006666;
-}
-
-.secondary-a-4 {
-    background-color: #66CCCC;
-}
-
-.secondary-a-5 {
-    background-color: #99CCCC;
-}
-
-.secondary-b-1 {
-    background-color: #999900;
-}
-
-.secondary-b-2 {
-    background-color: #999900;
-}
-
-.secondary-b-3 {
-    background-color: #999900;
-}
-
-.secondary-b-4 {
-    background-color: #FFFF66;
-}
-
-.secondary-b-5 {
-    background-color: #FFFFCC;
-}
-
-.complement-1 {
-    background-color: #990033;
-}
-
-.complement-2 {
-    background-color: #990033;
-}
-
-.complement-3 {
-    background-color: #990033;
-}
-
-.complement-4 {
-    background-color: #FF6699;
-}
-
-.complement-5 {
-    background-color: #FF99CC;
-}
-
-
-
-legend {
-    background-color: white;
-}
-
-fieldset {
-    padding-bottom: 10px;
-}
-
-span,li {
-    color: white;
-}
-span {
-    font-weight: bold;
-}
-
-li {
-    padding-bottom: 10px;
-    margin-bottom: 10px;
-}
-
-
-
-.isis-header {
-    padding: 20px 80px 20px 40px;
-    margin-right: 100px;
-    background-color: #99CCCC;
-    display: block;
-    width: 100%;
-}
-
-.isis-header span.isis-title {
-    font-size: xx-large;
-    padding: 5px 80px 5px 40px;
-    margin-right: 50px;
-    color: black;
-    background-color: #99FF66;
-    display: inline-table;
-    vertical-align: bottom;
-}
-
-.isis-header div.isis-actions span {
-    font-size: large;
-    padding: 5px 5px 5px 5px;
-    display: inline-table;
-}
-
-.isis-memberGroup, .isis-collection {
-    margin-top: 10px;
-    margin-bottom: 10px;
-    min-height: 100px;
-}
-
-.isis-memberGroup {
-    background-color: #669900;
-}
-
-.isis-collection {
-    background-color: #999900;
-}
-
-
-div.isis-property > span {
-    margin-left: 5%;
-    padding-left: 10px;
-    width: 90%;
-    display: block;
-}
-
-fieldset div.isis-property > span {
-    padding: 5px;
-    margin: 10px;
-    background-color: #006666;
-}
-
-.isis-header div.isis-actions,
-fieldset div.isis-actions {
-    margin-left: 60px;
-}
-
-fieldset.isis-collection div.isis-actions {
-    margin-left: 60px;
-}
-
-.isis-header .isis-actions {
-    display: inline-block;
-}
-        
-.isis-header div.isis-action,
-fieldset div.isis-action {
-    display: inline-table;
-    padding: 5px;
-    margin-top: 5px;
-    margin-bottom: 5px;
-    background-color: #990033;
-}
-
-
-fieldset div.isis-action span {
-    background-color: #990033;
-}
-
-.isis-memberGroups {}
-
-.isis-memberGroup.min-height-50,
-.isis-collection.min-height-50 {
-    min-height: 50px;
-}
-
-.isis-memberGroup.min-height-100,
-.isis-collection.min-height-100 {
-    min-height: 100px;
-}
-
-.isis-memberGroup.min-height-150,
-.isis-collection.min-height-150 {
-    min-height: 150px;
-}
-
-.isis-memberGroup.min-height-200,
-.isis-collection.min-height-200 {
-    min-height: 200px;
-}
-
-.isis-memberGroup.min-height-250,
-.isis-collection.min-height-250 {
-    min-height: 250px;
-}
-
-.isis-memberGroup.min-height-300,
-.isis-collection.min-height-300 {
-    min-height: 300px;
-}
-
-.isis-memberGroup.min-height-350,
-.isis-collection.min-height-350 {
-    min-height: 350px;
-}
-
-.isis-memberGroup.min-height-400,
-.isis-collection.min-height-400 {
-    min-height: 400px;
-}
-
-.isis-memberGroup .isis-hidden {
-    display: none;
-}
-
-.isis-action ul.isis-facets li {
-    margin-top: 30px;
-}
-ul.isis-facets li {
-    margin-left: 40px;
-    font-size: small;
-}
-.isis-action ul.isis-facets li {
-    margin-top: 10px;
-    margin-left: 20px;
-}
-.isis-action ul.isis-facets li {
-    font-size: small;
-}
-ul.isis-facets {
-    line-height: 0px;
-}
-ul.isis-facets {
-    margin:0px;
-}
-
-.isis-facets {
-    display: none;
-}

http://git-wip-us.apache.org/repos/asf/isis-site/blob/9d921a51/content/guides/ugfun/images/ugfun/_ugfun_object-layout_dynamic_xml/ToDoAppDashboard.png
----------------------------------------------------------------------
diff --git 
a/content/guides/ugfun/images/ugfun/_ugfun_object-layout_dynamic_xml/ToDoAppDashboard.png
 
b/content/guides/ugfun/images/ugfun/_ugfun_object-layout_dynamic_xml/ToDoAppDashboard.png
deleted file mode 100644
index 69340be..0000000
Binary files 
a/content/guides/ugfun/images/ugfun/_ugfun_object-layout_dynamic_xml/ToDoAppDashboard.png
 and /dev/null differ

http://git-wip-us.apache.org/repos/asf/isis-site/blob/9d921a51/content/guides/ugfun/images/ugfun/_ugfun_object-layout_dynamic_xml/ToDoItem.png
----------------------------------------------------------------------
diff --git 
a/content/guides/ugfun/images/ugfun/_ugfun_object-layout_dynamic_xml/ToDoItem.png
 
b/content/guides/ugfun/images/ugfun/_ugfun_object-layout_dynamic_xml/ToDoItem.png
deleted file mode 100644
index c47d52f..0000000
Binary files 
a/content/guides/ugfun/images/ugfun/_ugfun_object-layout_dynamic_xml/ToDoItem.png
 and /dev/null differ

http://git-wip-us.apache.org/repos/asf/isis-site/blob/9d921a51/content/guides/ugfun/images/wicket-viewer/application-menu/dividers.png
----------------------------------------------------------------------
diff --git 
a/content/guides/ugfun/images/wicket-viewer/application-menu/dividers.png 
b/content/guides/ugfun/images/wicket-viewer/application-menu/dividers.png
deleted file mode 100644
index dcb415d..0000000
Binary files 
a/content/guides/ugfun/images/wicket-viewer/application-menu/dividers.png and 
/dev/null differ

http://git-wip-us.apache.org/repos/asf/isis-site/blob/9d921a51/content/guides/ugfun/images/wicket-viewer/application-menu/layout-menus.pdn
----------------------------------------------------------------------
diff --git 
a/content/guides/ugfun/images/wicket-viewer/application-menu/layout-menus.pdn 
b/content/guides/ugfun/images/wicket-viewer/application-menu/layout-menus.pdn
deleted file mode 100644
index 01453f7..0000000
Binary files 
a/content/guides/ugfun/images/wicket-viewer/application-menu/layout-menus.pdn 
and /dev/null differ

http://git-wip-us.apache.org/repos/asf/isis-site/blob/9d921a51/content/guides/ugfun/images/wicket-viewer/application-menu/layout-menus.png
----------------------------------------------------------------------
diff --git 
a/content/guides/ugfun/images/wicket-viewer/application-menu/layout-menus.png 
b/content/guides/ugfun/images/wicket-viewer/application-menu/layout-menus.png
deleted file mode 100644
index 0bc73d1..0000000
Binary files 
a/content/guides/ugfun/images/wicket-viewer/application-menu/layout-menus.png 
and /dev/null differ

http://git-wip-us.apache.org/repos/asf/isis-site/blob/9d921a51/content/guides/ugfun/images/wicket-viewer/application-menu/tertiary.png
----------------------------------------------------------------------
diff --git 
a/content/guides/ugfun/images/wicket-viewer/application-menu/tertiary.png 
b/content/guides/ugfun/images/wicket-viewer/application-menu/tertiary.png
deleted file mode 100644
index f2d2281..0000000
Binary files 
a/content/guides/ugfun/images/wicket-viewer/application-menu/tertiary.png and 
/dev/null differ

http://git-wip-us.apache.org/repos/asf/isis-site/blob/9d921a51/content/guides/ugfun/ugfun.html
----------------------------------------------------------------------
diff --git a/content/guides/ugfun/ugfun.html b/content/guides/ugfun/ugfun.html
index d05d0a6..bf999b9 100644
--- a/content/guides/ugfun/ugfun.html
+++ b/content/guides/ugfun/ugfun.html
@@ -179,6 +179,7 @@ table.CodeRay td.code>pre{padding:0}
         <li><a href="../../guides/ugfun/ugfun.html">Fundamentals</a></li> 
         <li><a href="../../guides/ugvw/ugvw.html">Wicket Viewer</a></li> 
         <li><a href="../../guides/ugvro/ugvro.html">Restful Objects 
Viewer</a></li> 
+        <li><a href="../../guides/ugodn/ugodn.html">DataNucleus Object 
Store</a></li> 
         <li><a href="../../guides/ugsec/ugsec.html">Security</a></li> 
         <li><a href="../../guides/ugtst/ugtst.html">Testing</a></li> 
         <li><a href="../../guides/ugbtb/ugbtb.html">Beyond the Basics</a></li> 
@@ -196,25 +197,32 @@ table.CodeRay td.code>pre{padding:0}
        </ul> </li> 
       <li class="dropdown  hidden-sm hidden-md"> <a href="#" 
class="dropdown-toggle" data-toggle="dropdown" role="button" 
aria-haspopup="true" aria-expanded="false">Downloads<span 
class="caret"></span></a> 
        <ul class="dropdown-menu"> 
-        <li><a href="../../downloads.html">Downloads</a></li> 
-        <li><a href="../../release-notes/release-notes.html">Release 
Notes</a></li> 
-        <li><a href="../../migration-notes/migration-notes.html">Migration 
Notes</a></li> 
-        <li role="separator" class="divider"></li> 
         <li class="dropdown-header">Maven archetypes</li> 
         <li><a 
href="../../guides/ugfun/ugfun.html#_ugfun_getting-started_helloworld-archetype">helloworld</a></li>
 
         <li><a 
href="../../guides/ugfun/ugfun.html#_ugfun_getting-started_simpleapp-archetype">simpleapp</a></li>
 
         <li role="separator" class="divider"></li> 
-        <li><a href="https://issues.apache.org/jira/browse/ISIS";>ASF 
JIRA</a></li> 
+        <li><a href="../../downloads.html">Downloads</a></li> 
+        <li><a href="../../release-notes/release-notes.html">Release 
Notes</a></li> 
+        <li><a href="../../migration-notes/migration-notes.html">Migration 
Notes</a></li> 
+        <li role="separator" class="divider"></li> 
         <li><a href="https://github.com/apache/isis";>Github mirror</a></li> 
        </ul> </li> 
       <li class="dropdown  hidden-sm"> <a href="#" class="dropdown-toggle" 
data-toggle="dropdown" role="button" aria-haspopup="true" 
aria-expanded="false">Support<span class="caret"></span></a> 
        <ul class="dropdown-menu"> 
-        <li><a href="../../support.html">Mailing lists</a></li> 
+        <li class="dropdown-header">Guides</li> 
+        <li><a href="../../guides/dg/dg.html">Developers' Guide</a></li> 
+        <li><a href="../../guides/cgcom/cgcom.html">Committers' Guide</a></li> 
+        <li><a href="../../guides/htg.html">Hints-n-Tips Guide</a></li> 
+        <li role="separator" class="divider"></li> 
+        <li class="dropdown-header">Mailing Lists</li> 
+        <li><a href="../../support.html">How to subscribe</a></li> 
         <li><a 
href="https://lists.apache.org/[email protected]";>Archives (ASF 
Pony mail)</a></li> 
         <li><a href="http://isis.markmail.org/search/?q=";>Archives 
(Markmail)</a></li> 
+        <li role="separator" class="divider"></li> 
+        <li class="dropdown-header">Other Resources</li> 
+        <li><a href="https://issues.apache.org/jira/browse/ISIS";>ASF 
JIRA</a></li> 
         <li><a href="http://stackoverflow.com/questions/tagged/isis";>Stack 
Overflow</a></li> 
-        <li><a href="../../guides/dg/dg.html">How to contribute</a></li> 
-        <li><a href="../../help.html">Other resources</a></li> 
+        <li><a href="../../help.html">Wiki, Fisheye etc.</a></li> 
        </ul> </li> 
       <li class="dropdown hidden-sm hidden-md"> <a href="#" 
class="dropdown-toggle" data-toggle="dropdown" role="button" 
aria-haspopup="true" aria-expanded="false">@ASF<span class="caret"></span></a> 
        <ul class="dropdown-menu"> 
@@ -1797,7 +1805,7 @@ table.CodeRay td.code>pre{padding:0}
            </ul> 
           </div> 
           <div class="paragraph"> 
-           <p>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 <code>Bookmark`s, obtained from the <a 
href="../rgsvc/rgsvc.html#_rgsvc_integration-api_BookmarkService">`BookmarkService</a></code>.
 Deep links meanwhile can be obtained from the <a 
href="../rgsvc/rgsvc.html#_rgsvc_integration-api_DeepLinkService"><code>DeepLinkService</code></a>.</p>
 
+           <p>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 <code>Bookmark`s, obtained from the <a 
href="../rgsvc/rgsvc.html#_rgsvc_integration-api_BookmarkService">`BookmarkService</a></code>.
 Deep links meanwhile can be obtained from the <a 
href="../rgsvc/rgsvc.html#_rgsvc_presentation-api_DeepLinkService"><code>DeepLinkService</code></a>.</p>
 
           </div> 
           <div class="paragraph"> 
            <p>OIDs can also be converted into XML format, useful for 
integration scenarios. The <a 
href="../rgcms/rgcms.html#_rgcms_schema-common">common schema</a> XSD defines 
the <code>oidDto</code> complex type for precisely this purpose.</p> 
@@ -2028,7 +2036,7 @@ table.CodeRay td.code>pre{padding:0}
            <p>As explained <a 
href="../ugfun/ugfun.html#_ugfun_building-blocks_identifiers_title-and-icon">earlier</a>,
 to allow the end-user to distinguish one domain object from another, it is 
rendered with a title and an icon.</p> 
           </div> 
           <div class="paragraph"> 
-           <p><a 
href="../ugfun/ugfun.html#_ugfun_ui-hints_object-titles-and-icons">Normally</a> 
the code to return title and icon of an object is part of the domain object’s 
implementation. However, UI events allow this title and icon to be provided 
instead by a subscriber. (As of <code>1.15.0</code> onwards), UI events have 
higher precedence than the other mechanisms of supplying a title</p> 
+           <p><a 
href="../ugfun/ugfun.html#_ugfun_ui-hints_object-titles-and-icons">Normally</a> 
the code to return title and icon of an object is part of the domain object’s 
implementation. However, UI events allow this title and icon to be provided 
instead by a subscriber. UI events have higher precedence than the other 
mechanisms of supplying a title.</p> 
           </div> 
           <div class="paragraph"> 
            <p>If annotated with <a 
href="../rgant/rgant.html#_rgant_DomainObjectLayout_titleUiEvent"><code>@DomainObjectLayout#titleUiEvent()</code></a>,
 the appropriate (subclass of) <code>TitleUiEvent</code> will be emitted. 
Similarly for <a 
href="../rgant/rgant.html#_rgant_DomainObjectLayout_iconUiEvent"><code>iconUiEvent()</code></a>
 and <a 
href="../rgant/rgant.html#_rgant_DomainObjectLayout_cssClassUiEvent"><code>cssClassUiEvent()</code></a>.</p>
 
@@ -2114,18 +2122,14 @@ table.CodeRay td.code>pre{padding:0}
          <div class="paragraph"> 
           <p>The bootstrapping of Apache Isis also relies on module classes. 
(Currently) the only role of these classes is to identify a fully qualified 
package name, for example <code>org.incode.modules.document</code>. The 
framework then performs classpath scanning across all such packages to locate 
any domain entities provided by that module (though some modules have no 
entities), all domain services provided by the module (every module is likely 
to define at least one), and also any fixture scripts provided by the 
module.</p> 
          </div> 
-         <div class="admonitionblock tip"> 
-          <table> 
-           <tbody>
-            <tr> 
-             <td class="icon"> <i class="fa icon-tip" title="Tip"></i> </td> 
-             <td class="content"> 
-              <div class="paragraph"> 
-               <p>In the same way that the Java module act as a namespace for 
domain objects, it’s good practice to map domain entities to their own 
(database) schemas.</p> 
-              </div> </td> 
-            </tr> 
-           </tbody>
-          </table> 
+         <div class="paragraph"> 
+          <p>In the same way that the Java module act as a namespace for 
domain objects, it’s good practice to map domain entities to their own 
(database) schemas.</p> 
+         </div> 
+         <div class="paragraph"> 
+          <p>The module class does not <em>need</em> to implement any specific 
interface; in this case the framework uses the module class simply to obtain a 
package to scan for entities and domain services. However, it’s recommended 
to implement the <a 
href="../rgcms/rgcms.html#_rgcms_classes_Module"><code>Module</code></a> 
interface because this allows the module to specify its direct dependencies; 
from these all transitive dependencies are calculated. This should match the 
compile-time dependencies declared within Maven.</p> 
+         </div> 
+         <div class="paragraph"> 
+          <p>The <code>Module</code> interface also allows a module to declare 
any configuration properties that should be contributed, as well as fixture 
scripts for reference data, and to tear down (for integration testing).</p> 
          </div> 
         </div> 
        </div> 
@@ -2193,7 +2197,7 @@ table.CodeRay td.code>pre{padding:0}
            <pre class="CodeRay highlight"><code data-lang="bash">mvn 
archetype:generate  \
     -D archetypeGroupId=org.apache.isis.archetype \
     -D archetypeArtifactId=helloworld-archetype \
-    -D archetypeVersion=1.15.1 \
+    -D archetypeVersion=1.16.0 \
     -D groupId=com.mycompany \
     -D artifactId=myapp \
     -D version=1.0-SNAPSHOT \
@@ -2853,7 +2857,7 @@ mvn clean install</code></pre>
            <pre class="CodeRay highlight"><code data-lang="bash">mvn 
archetype:generate  \
     -D archetypeGroupId=org.apache.isis.archetype \
     -D archetypeArtifactId=simpleapp-archetype \
-    -D archetypeVersion=1.15.1 \
+    -D archetypeVersion=1.16.0 \
     -D groupId=com.mycompany \
     -D artifactId=myapp \
     -D version=1.0-SNAPSHOT \
@@ -2948,20 +2952,29 @@ mvn clean install</code></pre>
          <div class="sect3"> 
           <h4 id="_myapp_application">5.2.2. myapp-application</h4> 
           <div class="paragraph"> 
-           <p>The <code>myapp-application</code> module has three main 
packages, the most important being 
<code>domainapp.application.manifest</code>.</p> 
-          </div> 
-          <div class="paragraph"> 
-           <p>Classes for this package can be found under 
<code>src/main/java</code>:</p> 
+           <p>The production classes for <code>myapp-application</code> module 
(in <code>src/main/java</code>) are:</p> 
           </div> 
           <div class="listingblock"> 
            <div class="content"> 
             <pre>domainapp/
 └── application/
-    └── manifest/
-        ├── DomainAppAppManifest.java
-        ├── DomainAppAppManifestBypassSecurity.java
-        ├── DomainAppAppManifestWithFixtures.java
-        └── DomainAppAppManifestWithFixturesBypassSecurity.java</pre> 
+    ├── DomainAppApplicationModule.java
+    ├── fixture/
+    │   ├── DomainAppFixtureScriptsSpecificationProvider.java
+    │   └── scenarios/
+    │       └── DomainAppDemo.java
+    ├── manifest/
+    │   ├── DomainAppAppManifest.java
+    │   ├── DomainAppAppManifestBypassSecurity.java
+    │   ├── DomainAppAppManifestWithFixtures.java
+    │   ├── DomainAppAppManifestWithFixturesBypassSecurity.java
+    │   └── menubars.layout.xml
+    └── services
+        └── homepage
+            ├── HomePageService.java
+            ├── HomePageViewModel.java
+            ├── HomePageViewModel.layout.xml
+            └── HomePageViewModel.layout.png</pre> 
            </div> 
           </div> 
           <div class="paragraph"> 
@@ -2984,20 +2997,17 @@ mvn clean install</code></pre>
           </div> 
           <div class="listingblock"> 
            <div class="content"> 
-            <pre class="CodeRay highlight"><code data-lang="java"><span 
class="directive">public</span> <span class="type">class</span> <span 
class="class">DomainAppAppManifest</span> <span 
class="directive">extends</span> AppManifestAbstract {
+            <pre class="CodeRay highlight"><code data-lang="java"><span 
class="directive">public</span> <span class="type">class</span> <span 
class="class">DomainAppAppManifest</span> <span 
class="directive">extends</span> AppManifestAbstract2 {
 
-    <span class="directive">public</span> <span 
class="directive">static</span> <span class="directive">final</span> Builder 
BUILDER = Builder.forModules(
-                    SimpleModuleDomSubmodule.class,
-                    DomainAppApplicationModuleFixtureSubmodule.class,
-                    DomainAppApplicationModuleServicesSubmodule.class
-            )
+    <span class="directive">public</span> <span 
class="directive">static</span> <span class="directive">final</span> Builder 
BUILDER = Builder
+            .forModule(<span class="keyword">new</span> 
DomainAppApplicationModule())
             .withConfigurationPropertiesFile(DomainAppAppManifest.class,
                     <span class="string"><span class="delimiter">"</span><span 
class="content">isis.properties</span><span class="delimiter">"</span></span>,
                     <span class="string"><span class="delimiter">"</span><span 
class="content">authentication_shiro.properties</span><span 
class="delimiter">"</span></span>,
                     <span class="string"><span class="delimiter">"</span><span 
class="content">persistor_datanucleus.properties</span><span 
class="delimiter">"</span></span>,
                     <span class="string"><span class="delimiter">"</span><span 
class="content">viewer_restfulobjects.properties</span><span 
class="delimiter">"</span></span>,
-                    <span class="string"><span class="delimiter">"</span><span 
class="content">viewer_wicket.properties</span><span 
class="delimiter">"</span></span>
-            ).withAuthMechanism(<span class="string"><span 
class="delimiter">"</span><span class="content">shiro</span><span 
class="delimiter">"</span></span>);
+                    <span class="string"><span class="delimiter">"</span><span 
class="content">viewer_wicket.properties</span><span 
class="delimiter">"</span></span>)
+            .withAuthMechanism(<span class="string"><span 
class="delimiter">"</span><span class="content">shiro</span><span 
class="delimiter">"</span></span>);
 
     <span class="directive">public</span> DomainAppAppManifest() {
         <span class="local-variable">super</span>(BUILDER);
@@ -3006,32 +3016,35 @@ mvn clean install</code></pre>
            </div> 
           </div> 
           <div class="paragraph"> 
-           <p>The manifest uses the builder defined by 
<code>AppManifestAbstract</code> and references 3 (Isis) modules. These are 
simply classes that identify packages to search for entities, domain services 
and fixtures; one defined in the <code>myapp-module-simple</code> module, and 
two package within the <code>myapp-application</code> module itself (for 
additional fixtures and services, namely the home page which we’ll discuss 
below).</p> 
+           <p>The manifest uses the builder defined by 
<code>AppManifestAbstract2</code> and references a single top-level (Isis) 
module, namely <code>DomainAppApplicationModule</code>:</p> 
+          </div> 
+          <div class="listingblock"> 
+           <div class="content"> 
+            <pre class="CodeRay highlight"><code data-lang="java"><span 
class="directive">public</span> <span class="type">class</span> <span 
class="class">DomainAppApplicationModule</span> <span 
class="directive">extends</span> ModuleAbstract {
+    <span class="annotation">@Override</span>
+    <span class="directive">public</span> <span 
class="predefined-type">Set</span>&lt;Module&gt; getDependencies() {
+        <span class="keyword">return</span> 
Sets.&lt;Module&gt;newHashSet(<span class="keyword">new</span> SimpleModule());
+    }
+}</code></pre> 
+           </div> 
           </div> 
           <div class="paragraph"> 
-           <p>The manifest also defines a number of static configuration 
files, all loaded from the classpath. Each file contains configuration setting 
for a different part of the runtime (<code>isis.properties</code> for the core 
framework, shiro for security, datanucleus for the objectstore, and the two 
viewers).</p> 
+           <p>where <code>SimpleModule</code> in defined in the 
<code>mypp-module-simple</code> module (below).</p> 
           </div> 
           <div class="paragraph"> 
-           <p>There are also several variations on the app manifest; these can 
be used to bootstrap the application with fixtures, or disabling security.</p> 
+           <p>The primary purpose of the module class is to identify packages 
and subpackages that the framework should scan for entities and domain 
services. The transitive dependencies between modules are automatically 
resolved. The net effect is that all the domain services and entities in this 
module as well as those modules referenced are included into the app.</p> 
           </div> 
           <div class="paragraph"> 
-           <p>The next package is 
<code>domainapp.application.services</code>:</p> 
+           <p>Going back to the manifest, it also defines a number of static 
configuration files, all loaded from the classpath. Each file contains 
configuration setting for a different part of the runtime 
(<code>isis.properties</code> for the core framework, shiro for security, 
datanucleus for the objectstore, and the two viewers).</p> 
           </div> 
-          <div class="listingblock"> 
-           <div class="content"> 
-            <pre>domainapp/
-└── application/
-    └── services/
-        ├── DomainAppApplicationModuleServicesSubmodule.java
-        └── homepage/
-            ├── HomePageService.java
-            ├── HomePageViewModel.java
-            ├── HomePageViewModel.layout.xml
-            └── HomePageViewModel.png</pre> 
-           </div> 
+          <div class="paragraph"> 
+           <p>The <code>menubars.layout.xml</code> file also resides in the 
same package as the manifest; this defines the menubar structure.</p> 
+          </div> 
+          <div class="paragraph"> 
+           <p>There are also several variations on the app manifest; these can 
be used to bootstrap the application with fixtures, or disabling security.</p> 
           </div> 
           <div class="paragraph"> 
-           <p>The <code>DomainAppApplicationModuleServicesSubmodule</code> 
class is referenced as a module within the app manifest, meaning that the 
<code>HomePageService</code> that sits in a subpackage underneath it is picked 
up automatically. This domain service simply has a single action annotated with 
<code>@HomePage</code>:</p> 
+           <p>The <code>domainapp.application.services</code> package contains 
the <code>HomePageService</code> domain service. This simply has a single 
action annotated with <code>@HomePage</code>:</p> 
           </div> 
           <div class="listingblock"> 
            <div class="content"> 
@@ -3046,26 +3059,7 @@ mvn clean install</code></pre>
            <p>which returns the <code>HomePageViewModel</code> for use as the 
home page. The <code>HomePageViewModel</code> itself just renders a collection 
of <code>SimpleObject</code>s in a list 
(<code>HomePageViewModel.layout.xml</code> defines the UI layout).</p> 
           </div> 
           <div class="paragraph"> 
-           <p>The final package in the application module is 
<code>domainapp.application.fixture</code>:</p> 
-          </div> 
-          <div class="listingblock"> 
-           <div class="content"> 
-            <pre>domainapp/
-└── application/
-    └── fixture/
-        ├── DomainAppApplicationModuleFixtureSubmodule.java
-        ├── DomainAppFixtureScriptsSpecificationProvider.java
-        ├── scenarios/
-        │   └── DomainAppDemo.java
-        └── teardown/
-            └── DomainAppTearDown.java</pre> 
-           </div> 
-          </div> 
-          <div class="paragraph"> 
-           <p>The important class here is <code>DomainAppDemo</code>, which is 
a fixture script that can be used to setup the application with some dummy 
data. This is used in the app itself when running in prototype mode (against an 
in-memory database), and can also be used by integration tests.</p> 
-          </div> 
-          <div class="paragraph"> 
-           <p>The <code>DomainAppApplicationModuleFixtureSubmodule</code> is 
referenced by the app manifest, meaning that the framework knows to search for 
domain services and fixtures under its package.</p> 
+           <p>The final package in the application module is 
<code>domainapp.application.fixture</code>. The important class here is 
<code>DomainAppDemo</code>, a fixture script that can be used to setup the 
application with some dummy data. This is used in the app itself when running 
in prototype mode (against an in-memory database), and can also be used by 
integration tests.</p> 
           </div> 
           <div class="paragraph"> 
            <p>There is in fact also a domain service defined here, namely 
<code>DomainAppFixtureScriptsSpecificationProvider</code>. This is just used to 
configure the run fixture script menu item shown on the "Prototyping" menu.</p> 
@@ -3087,6 +3081,9 @@ mvn clean install</code></pre>
            </div> 
           </div> 
           <div class="paragraph"> 
+           <p>Here the <code>BootstrappingGlue</code> glue class inherits from 
the framework’s <code>CukeGlueBootstrappingAbstract</code> class, and 
bootstraps using the <code>DomainAppApplicationModule</code> mentioned 
above.</p> 
+          </div> 
+          <div class="paragraph"> 
            <p>There is just one feature file: 
<code>SimpleObjectSpec_listAllAndCreate.feature</code>, which is pretty 
simple:</p> 
           </div> 
           <div class="listingblock"> 
@@ -3094,18 +3091,17 @@ mvn clean install</code></pre>
             <pre class="CodeRay highlight"><code 
data-lang="feature">@DomainAppDemo
 Feature: List and Create New Simple Objects
 
-  @integration
   Scenario: Existing simple objects can be listed and new ones created
-    Given there are initially 3 simple objects
+    Given there are initially 10 simple objects
     When  I create a new simple object
-    Then  there are 4 simple objects</code></pre> 
+    Then  there are 11 simple objects</code></pre> 
            </div> 
           </div> 
           <div class="paragraph"> 
-           <p>The <code>@DomainAppDemo</code> annotation causes the 
<code>DomainAppDemo</code> fixture script to be run; this sets up 3 objects. 
The "glue" defines both in the <code>myapp-application</code> module and in the 
<code>myapp-module-simple</code> module</p> 
+           <p>The <code>@DomainAppDemo</code> annotation causes the 
<code>DomainAppDemo</code> fixture script to be run; this is the purpose of the 
<code>CatalogOfFixturesGlue</code> glue class.</p> 
           </div> 
           <div class="paragraph"> 
-           <p>The tests themselves are run by the 
<code>RunIntegBddSpecs.java</code> class; this is standard Cucumber 
bootstrapping.</p> 
+           <p>The specs themselves are run by the 
<code>RunIntegBddSpecs.java</code> class, which specifies which packages to 
search for "glue". This is just standard Cucumber bootstrapping.</p> 
           </div> 
           <div class="paragraph"> 
            <p>The integration tests meanwhile are in 
<code>domainapp.application.integtests</code>:</p> 
@@ -3120,10 +3116,10 @@ Feature: List and Create New Simple Objects
            </div> 
           </div> 
           <div class="paragraph"> 
-           <p>The <code>Smoke_IntegTest</code> inherits 
<code>DomainAppIntegTestAbstract</code>, with the latter bootstrapping the 
framework using the <code>DomainAppAppManifest</code> already discussed that is 
used for running the application itself. Moreover, the 
<code>Smoke_IntegTest</code> uses the same <code>DomainAppDemo</code> fixture 
script. The application and the smoke tests therefore run with the exact same 
state, making debugging easy.</p> 
+           <p>The <code>Smoke_IntegTest</code> inherits 
<code>DomainAppIntegTestAbstract</code>, which in turn inherits from 
<code>IntegrationTestAbstract3</code> and uses the 
<code>DomainAppApplicationModule</code> previously discussed. Moreover, the 
<code>Smoke_IntegTest</code> uses the same <code>DomainAppDemo</code> fixture 
script. The application and the smoke tests therefore run with the exact same 
state, making debugging easy.</p> 
           </div> 
           <div class="paragraph"> 
-           <p>The BDD specs and integration tests are named according to the 
naming convention required by the "surefire" mavenmixin that configures the 
maven surefire plugin.</p> 
+           <p>With regard to the naming of these various BDD specs and 
integration tests, they follow the naming convention required by the (non-ASF) 
<a href="http://github.com/danhaywood/java-mavenmixin-surefire";>"surefire" 
mavenmixin</a> that configures the maven surefire plugin.</p> 
           </div> 
          </div> 
          <div class="sect3"> 
@@ -3155,9 +3151,9 @@ Feature: List and Create New Simple Objects
             <pre>domainapp/
 └── modules/
     └── simple/
+        ├── SimpleModule.java
         ├── SimpleModuleManifest.java
         ├── dom/
-        │   ├── SimpleModuleDomSubmodule.java
         │   └── impl/
         │       ├── SimpleObject.java
         │       ├── SimpleObject.layout.xml
@@ -3165,39 +3161,45 @@ Feature: List and Create New Simple Objects
         │       ├── SimpleObjectMenu.java
         │       └── SimpleObjectRepository.java
         └── fixture/
-            ├── SimpleModuleFixtureSubmodule.java
-            ├── scenario/
-            │   ├── CreateSimpleObjects.java
-            │   └── SimpleObjectData.java
-            └── teardown/
-                └── SimpleModuleTearDown.java
+            ├── SimpleObject_persona.java
+            └── SimpleObjectBuilder.java
 META-INF/
 └── persistence.xml</pre> 
            </div> 
           </div> 
           <div class="paragraph"> 
-           <p>Note once more that the module class 
(<code>SimpleModuleDomSubmodule</code>) is referenced in the app manifest 
class, meaning that all the entities, domain services and fixtures within it 
are included within the application. Speaking of which…​</p> 
-          </div> 
-          <div class="paragraph"> 
-           <p><code>SimpleObject</code> is the (one-and-only) domain entity 
defined (with <code>SimpleObject.layout.xml</code> defines its layout in the 
UI). In contrast to the helloworld app, though, there are <em>two</em> 
associated domain services:</p> 
+           <p>The <code>SimpleModule</code> is the (single) module class 
referenced from the previously discussed 
<code>DomainAppApplicationModule</code>, meaning that all the entities, domain 
services and fixtures within it are included within the application.</p> 
           </div> 
           <div class="ulist"> 
            <ul> 
-            <li> <p><code>SimpleObjectMenu</code> domain service’s actions 
appear as menu items, to create and find <code>SimpleObject</code>s. This 
delegates in turn to:</p> </li> 
-            <li> <p><code>SimpleObjectRepository</code>, which is a repository 
domain service that actually does the fetching and creating in the 
database.</p> </li> 
+            <li> <p><code>SimpleObject</code> is the (one-and-only) domain 
entity defined (with <code>SimpleObject.layout.xml</code> defines its layout in 
the UI).</p> </li> 
+            <li> <p><code>SimpleObjects</code> domain service’s whos actions 
appear as menu items and which acts as a repository to create and find 
<code>SimpleObject</code>s.</p> </li> 
            </ul> 
           </div> 
           <div class="paragraph"> 
-           <p>Splitting out domain services like this is quite common since it 
allows more flexibility with the menu structure.</p> 
+           <p>The <code>SimpleModule</code> class also defines a teardown 
fixture, automatically called by integration tests.</p> 
           </div> 
-          <div class="paragraph"> 
-           <p>The module also defines its own manifest, 
<code>SimpleModuleManifest</code>. This is used to run Isis' own <a 
href="../rgmvn/rgmvn.html">maven plugin</a> to <a 
href="../rgmvn/rgmvn.html#_rgmvn_validate">validate</a> the domain object model 
(eg to detect orphaned supported methods).</p> 
+          <div class="listingblock"> 
+           <div class="content"> 
+            <pre class="CodeRay highlight"><code data-lang="java"><span 
class="directive">public</span> <span class="type">class</span> <span 
class="class">SimpleModule</span> <span class="directive">extends</span> 
ModuleAbstract {
+    <span class="annotation">@Override</span>
+    <span class="directive">public</span> FixtureScript getTeardownFixture() {
+        <span class="keyword">return</span> <span class="keyword">new</span> 
TeardownFixtureAbstract2() {
+            <span class="annotation">@Override</span>
+            <span class="directive">protected</span> <span 
class="type">void</span> execute(ExecutionContext ec) {
+                deleteFrom(SimpleObject.class);
+            }
+        };
+    }
+    ...
+}</code></pre> 
+           </div> 
           </div> 
           <div class="paragraph"> 
-           <p>Under <code>fixture.scenario</code> subpackage are fixture 
scripts that are used by integration tests and by the demo fixture script 
defined in the <code>myapp-application</code> module (discussed above).</p> 
+           <p>In the <code>fixture</code> subpackage is the 
<code>SimpleObject_persona</code> "persona" which uses the corresponding 
<code>SimpleObjectBuilder</code> builder script; further discussion on this 
pattern <a 
href="../ugtst/ugtst.html#_ugtst_fixture-scripts_api-and-usage_persona-and-builders">here</a>.
 These fixtures are also used by "local" integration tests, which reside under 
<code>src/test/java</code>.</p> 
           </div> 
           <div class="paragraph"> 
-           <p>These fixtures are also used by "local" integration tests, which 
reside under <code>src/test/java</code>. There are also unit tests and "glue" 
for the BDD specs:</p> 
+           <p>There are also unit tests and "glue" for the BDD specs:</p> 
           </div> 
           <div class="listingblock"> 
            <div class="content"> 
@@ -3221,7 +3223,10 @@ META-INF/
            <p>The simpleapp application has both "local" integration tests 
(defined within the <code>myapp-module-simple</code> module) and also "global" 
integration tests (the "smoke" tests in <code>myapp-application</code> module). 
There’s a role for both: local integration tests should fully exercise the 
module but may need to mock out collaborations between modules, while global 
integration tests exercise the whole application (but an over-reliance on these 
can cause test run times to bloat).</p> 
           </div> 
           <div class="paragraph"> 
-           <p>The surefire mavenmixin plugin configured in the 
<code>pom.xml</code> establishes the convention that integration tests include 
the name "IntegTest", while unit tests contain merely "Test". The 
<code>SimpleModuleIntegTestAbstract</code> also uses the 
<code>SimpleAppManifest</code> (mentioned above) to define a "cut-down" version 
of the application that just bootstraps the simple module.</p> 
+           <p>With regard to the naming of these various BDD specs and 
integration tests, they follow the naming convention required by the (non-ASF) 
<a href="http://github.com/danhaywood/java-mavenmixin-surefire";>"surefire" 
mavenmixin</a> that configures the maven surefire plugin. Integration tests 
include the name "IntegTest", while unit tests contain merely "Test".</p> 
+          </div> 
+          <div class="paragraph"> 
+           <p>The module also defines its own manifest, 
<code>SimpleModuleManifest</code>. This is used to run Isis' own <a 
href="../rgmvn/rgmvn.html">maven plugin</a> to <a 
href="../rgmvn/rgmvn.html#_rgmvn_validate">validate</a> the domain object model 
(eg to detect orphaned supported methods).</p> 
           </div> 
          </div> 
          <div class="sect3"> 
@@ -3241,7 +3246,7 @@ META-INF/
            </div> 
           </div> 
           <div class="paragraph"> 
-           <p>The <code>DomainApplication</code> is required to bootstrap the 
Wicket viewer (it is configured in <code>WEB-INF/web.xml</code>). Internally it 
uses Google Guice to configure various static resources served up by 
Wicket:</p> 
+           <p>The <code>DomainApplication</code> is required to bootstrap the 
Wicket viewer (it is configured in <code>WEB-INF/web.xml</code>, discussed 
below). Within <code>DomainApplication</code> is the bootstrapping of the 
Wicket viewer. Internally it uses Google Guice to configure various static 
resources served up by Wicket:</p> 
           </div> 
           <div class="listingblock"> 
            <div class="content"> 
@@ -3284,7 +3289,33 @@ WEB-INF/
            </div> 
           </div> 
           <div class="paragraph"> 
-           <p>Most important of these is <code>WEB-INF/web.xml</code>, which 
bootstraps both the Wicket viewer and the Restful Objects viewer (the REST API 
derived from the domain object model).</p> 
+           <p>Most important of these is <code>WEB-INF/web.xml</code>, which 
bootstraps both the Wicket viewer and the Restful Objects viewer (the REST API 
derived from the domain object model):</p> 
+          </div> 
+          <div class="listingblock"> 
+           <div class="title">
+            web.xml
+           </div> 
+           <div class="content"> 
+            <pre class="CodeRay highlight"><code data-lang="xml"><span 
class="tag">&lt;web-app</span> <span class="attribute-name">...</span><span 
class="tag">&gt;</span>
+  ...
+  <span class="tag">&lt;filter&gt;</span>
+    <span class="tag">&lt;filter-name&gt;</span>WicketFilter<span 
class="tag">&lt;/filter-name&gt;</span>
+    <span 
class="tag">&lt;filter-class&gt;</span>org.apache.wicket.protocol.http.WicketFilter<span
 class="tag">&lt;/filter-class&gt;</span>
+    <span class="tag">&lt;init-param&gt;</span>
+      <span class="tag">&lt;param-name&gt;</span>applicationClassName<span 
class="tag">&lt;/param-name&gt;</span>
+      <span 
class="tag">&lt;param-value&gt;</span>domainapp.webapp.DomainApplication<span 
class="tag">&lt;/param-value&gt;</span>
+    <span class="tag">&lt;/init-param&gt;</span>
+  <span class="tag">&lt;/filter&gt;</span>
+  ...
+  <span class="tag">&lt;context-param&gt;</span>
+    <span class="tag">&lt;param-name&gt;</span>javax.ws.rs.Application<span 
class="tag">&lt;/param-name&gt;</span>
+    <span class="tag">&lt;param-value&gt;</span>
+      org.apache.isis.viewer.restfulobjects.server.RestfulObjectsApplication
+    <span class="tag">&lt;/param-value&gt;</span>
+  <span class="tag">&lt;/context-param&gt;</span>
+  ...
+<span class="tag">&lt;/web-app&gt;</span></code></pre> 
+           </div> 
           </div> 
           <div class="paragraph"> 
            <p>The <code>about/index.html</code> is the page shown at the root 
of the package, providing links to either the Wicket viewer or to the Swagger 
UI. In a production application this is usually replaced with a page that does 
an HTTP 302 redirect to the Wicket viewer.</p> 
@@ -5708,7 +5739,7 @@ ProductRepository productRepository;</code></pre>
             <p>If your JAXB view model contains fields using the JODA 
datatypes (<code>LocalDate</code> and so on), then 
<code>@XmlJavaTypeAdapter</code> additional annotations in order to "teach" 
JAXB how to serialize out the state.</p> 
            </div> 
            <div class="paragraph"> 
-            <p>(As of <code>1.15.0</code>) you can use adapters provided in 
the Apache Isis applib. For example:</p> 
+            <p>The Apache Isis applib provides a number of adapters to use 
out-of-the-box. For example:</p> 
            </div> 
            <div class="listingblock"> 
             <div class="content"> 
@@ -8721,7 +8752,7 @@ repositoryService.remove(customer);</code></pre>
           <ul> 
            <li> <p><a 
href="../rgsvc/rgsvc.html#_rgsvc_integration-api_BookmarkService"><code>BookmarkService</code></a></p>
 </li> 
            <li> <p><a 
href="../rgsvc/rgsvc.html#_rgsvc_integration-api_MementoService"><code>MementoService</code></a></p>
 </li> 
-           <li> <p><a 
href="../rgsvc/rgsvc.html#_rgsvc_integration-api_DeepLinkService"><code>DeepLinkService</code></a></p>
 </li> 
+           <li> <p><a 
href="../rgsvc/rgsvc.html#_rgsvc_presentation-api_DeepLinkService"><code>DeepLinkService</code></a></p>
 </li> 
            <li> <p><a 
href="../rgsvc/rgsvc.html#_rgsvc_integration-api_JaxbService"><code>JaxbService</code></a></p>
 </li> 
            <li> <p><a 
href="../rgsvc/rgsvc.html#_rgsvc_integration-api_XmlSnapshotService"><code>XmlSnapshotService</code></a></p>
 </li> 
           </ul> 
@@ -8746,7 +8777,7 @@ repositoryService.remove(customer);</code></pre>
          </div> 
          <div class="ulist"> 
           <ul> 
-           <li> <p><a 
href="../rgsvc/rgsvc.html#_rgsvc_application-layer-api_AcceptHeaderService"><code>AcceptHeaderService</code></a></p>
 </li> 
+           <li> <p><a 
href="../rgsvc/rgsvc.html#_rgsvc_presentation-layer-api_AcceptHeaderService"><code>AcceptHeaderService</code></a></p>
 </li> 
            <li> <p><a 
href="../rgsvc/rgsvc.html#_rgsvc_metadata-api_SwaggerService"><code>SwaggerService</code></a></p>
 </li> 
            <li> <p><a 
href="../rgsvc/rgsvc.html#_rgsvc_presentation-layer-spi_ContentMappingService"><code>ContentMappingService</code></a>
 (SPI)</p> </li> 
           </ul> 
@@ -8765,8 +8796,8 @@ repositoryService.remove(customer);</code></pre>
          </div> 
          <div class="ulist"> 
           <ul> 
-           <li> <p><a 
href="../rgsvc/rgsvc.html#_rgsvc_testing_FixtureScriptsDefault"><code>FixtureScriptsDefault</code></a></p>
 </li> 
-           <li> <p><a 
href="../rgsvc/rgsvc.html#_rgsvc_integration-api_GuiceBeanProvider"><code>GuiceBeanProvider</code></a></p>
 </li> 
+           <li> <p><a 
href="../rgsvc/rgsvc.html#_rgsvc_testing_FixtureScripts"><code>FixtureScripts</code></a></p>
 </li> 
+           <li> <p><a 
href="../rgsvc/rgsvc.html#_rgsvc_presentation-api_GuiceBeanProvider"><code>GuiceBeanProvider</code></a></p>
 </li> 
            <li> <p><a 
href="../rgsvc/rgsvc.html#_rgsvc_testing_SudoService"><code>SudoService</code></a></p>
 </li> 
            <li> <p><a 
href="../rgsvc/rgsvc.html#_rgsvc_application-layer-api_TransactionService"><code>TransactionService</code></a></p>
 </li> 
           </ul> 

Reply via email to