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 2019/12/03 09:42:16 UTC

[isis] 02/08: ISIS-2148: removes starter apps, updates doc structure

This is an automated email from the ASF dual-hosted git repository.

danhaywood pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/isis.git

commit 789d00a6e6bad48237d88c6271304997ee1bf62a
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Tue Dec 3 06:49:55 2019 +0000

    ISIS-2148: removes starter apps, updates doc structure
---
 .../security/modules/ROOT/pages/about.adoc         |    2 +-
 .../components/toc/modules/ROOT/pages/about.adoc   |    4 +-
 .../toc/modules/ROOT/pages/downloads/how-to.adoc   |    2 +-
 .../ROOT/pages/more-thanks/more-thanks.adoc        |    2 +-
 .../toc/modules/ROOT/pages/quick-start.adoc        |    4 +-
 .../what-is-apache-isis/common-use-cases.adoc      |    2 +-
 .../what-is-apache-isis/screencasts-older.adoc     |    4 +-
 .../pages/what-is-apache-isis/screencasts.adoc     |    2 +-
 .../toc/modules/ROOT/partials/module-nav.adoc      |    4 +-
 .../modules/comguide/pages/verifying-releases.adoc |    2 +-
 .../pages/hints-and-tips/datanucleus-enhancer.adoc |    4 +-
 .../pages/hints-and-tips/enabling-logging.adoc     |    2 +-
 .../how-run-fixtures-on-app-startup.adoc           |    2 +-
 .../toc/modules/devguide/pages/ide/eclipse.adoc    |    4 +-
 .../modules/btb/pages/deployment/neo4j.adoc        |    4 +-
 .../userguide/modules/btb/pages/i18n.adoc          |    2 +-
 .../userguide/modules/fun/pages/about.adoc         |    2 +-
 .../core-concepts/philosophy/how-eases-ddd.adoc    |    2 +-
 .../fun/pages/programming-model/properties.adoc    |    2 +-
 antora/playbooks/site-toc.yml                      |    5 +-
 .../pages/classes/AppManifest-bootstrapping.adoc   |    2 +-
 .../FixtureScriptsSpecificationProvider.adoc       |    2 +-
 .../config/pages/specifying-components.adoc        |    2 +-
 .../org/apache/isis/config/IsisConfiguration.java  |    1 -
 .../java/org/apache/isis/config/IsisPresets.java   |    5 +-
 .../main/resources/presets/Log4j2Test.properties   |   18 -
 .../disabling-persistence-by-reachability.adoc     |    2 +-
 .../ROOT/pages/configuring/persistence-xml.adoc    |    2 +-
 core/runtime-extensions/pom.xml                    |    4 +
 core/runtime-services/pom.xml                      |    4 +
 core/runtime-web/pom.xml                           |    8 +-
 .../pages/about/configuring-isis-to-use-shiro.adoc |    4 +-
 .../doc/modules/shiro/pages/about/ini-realm.adoc   |    2 +-
 .../pages/integ-test-support/bootstrapping.adoc    |    2 +-
 .../integ-test-support/maven-configuration.adoc    |    6 +-
 .../src/main/doc/modules/mvn/pages/intro.adoc      |    4 +-
 .../src/main/doc/modules/mvn/pages/validate.adoc   |    2 +-
 .../unit-test-support/maven-configuration.adoc     |    6 +-
 .../doc/modules/ROOT/pages/layout-resources.adoc   |    4 +-
 .../doc/modules/ROOT/pages/layout/file-based.adoc  |    2 +-
 examples/demo/pom.xml                              |    4 +
 examples/smoketests/pom.xml                        |    4 +
 extensions/lib/excel/integtests/pom.xml            |    4 +
 extensions/lib/fakedata/impl/pom.xml               |    4 +
 extensions/lib/fakedata/integtests/pom.xml         |    4 +
 extensions/testing/fixtures/pom.xml                |    4 +
 .../pages/fixture-scripts/api-and-usage.adoc       |   10 +-
 .../bdd-spec-support/maven-configuration.adoc      |    2 +-
 .../pages/bdd-spec-support/writing-a-bdd-spec.adoc |    4 +-
 site.yml                                           |    9 +-
 starters/helloworld/.gitattributes                 |   51 -
 starters/helloworld/.gitignore                     |   43 -
 starters/helloworld/.m2/settings.xml               |   12 -
 starters/helloworld/README.adoc                    |   30 -
 starters/helloworld/enhance-all.sh                 |    2 -
 starters/helloworld/logging-dn-enhance.properties  |   41 -
 starters/helloworld/pom.xml                        |  170 ---
 starters/helloworld/src/main/doc/antora.yml        |    6 -
 .../src/main/java/META-INF/persistence.xml         |   26 -
 .../java/domainapp/application/HelloWorldApp.java  |   65 --
 .../java/domainapp/application/menubars.layout.xml |  115 --
 .../main/java/domainapp/dom/HelloWorldModule.java  |   28 -
 .../java/domainapp/dom/impl/HelloWorldObject.java  |  120 --
 .../domainapp/dom/impl/HelloWorldObject.layout.xml |   76 --
 .../java/domainapp/dom/impl/HelloWorldObject.png   |  Bin 653 -> 0 bytes
 .../java/domainapp/dom/impl/HelloWorldObjects.java |   76 --
 .../src/main/java/domainapp/dom/types/Name.java    |   42 -
 .../src/main/java/domainapp/dom/types/Notes.java   |   45 -
 .../helloworld/src/main/resources/application.yml  |   80 --
 starters/helloworld/src/main/resources/banner.txt  |    6 -
 .../main/resources/config/application.properties   |   12 -
 .../src/main/resources/log4j2-spring.xml           |   42 -
 starters/helloworld/src/main/resources/shiro.ini   |   58 -
 .../src/main/resources/static/css/application.css  |   19 -
 .../static/images/apache-isis/logo-48x48.png       |  Bin 2622 -> 0 bytes
 .../resources/static/images/apache-isis/logo.png   |  Bin 14160 -> 0 bytes
 .../src/main/resources/static/images/favicon.png   |  Bin 2143 -> 0 bytes
 .../src/main/resources/static/index.html           |  107 --
 .../main/resources/static/scripts/application.js   |    3 -
 .../src/main/webapp/META-INF/context.xml           |    2 -
 .../helloworld/src/main/webapp/WEB-INF/web.xml     |   28 -
 .../dom/impl/HelloWorldObject_delete_Test.java     |   69 --
 .../dom/impl/HelloWorldObject_updateName_Test.java |   40 -
 starters/simpleapp/.gitattributes                  |   51 -
 starters/simpleapp/.gitignore                      |   43 -
 starters/simpleapp/.gitlab-ci.yml                  |   51 -
 starters/simpleapp/.m2/settings.xml                |   20 -
 starters/simpleapp/README.adoc                     |  244 ----
 starters/simpleapp/_checks/checkstyle.xml          |  287 -----
 starters/simpleapp/_checks/pmd.xml                 |   46 -
 starters/simpleapp/application/.gitignore          |    1 -
 starters/simpleapp/application/log4j2-test.xml     |   60 -
 starters/simpleapp/application/pom.xml             |  125 ---
 .../domainapp/application/ApplicationModule.java   |   33 -
 ...mainAppFixtureScriptsSpecificationProvider.java |   45 -
 .../fixture/scenarios/DomainAppDemo.java           |   40 -
 .../services/health/HealthCheckServiceImpl.java    |   47 -
 .../services/homepage/HomePageService.java         |   42 -
 .../services/homepage/HomePageViewModel.java       |   47 -
 .../services/homepage/HomePageViewModel.layout.xml |   51 -
 .../services/homepage/HomePageViewModel.png        |  Bin 456 -> 0 bytes
 .../src/main/resources/log4j2-spring.xml           |   42 -
 .../application/bdd/RunIntegBddSpecs.java          |   41 -
 .../application/bdd/glue/SimpleObjectsStepDef.java |  100 --
 .../SimpleObjectSpec_listAllAndCreate.feature      |   24 -
 .../integtests/ApplicationIntegTestAbstract.java   |   57 -
 .../integtests/mml/DomainModel_IntegTest.java      |   41 -
 .../integtests/mml/MetaModelService_IntegTest.java |  145 ---
 ...omainAppFixtureScriptsSpecificationProvider.xml |   44 -
 ...tion.services.health.HealthCheckServiceImpl.xml |   44 -
 ...ication.services.homepage.HomePageViewModel.xml |  617 ----------
 ...ainapp.modules.simple.dom.impl.SimpleObject.xml | 1182 --------------------
 ...inapp.modules.simple.dom.impl.SimpleObjects.xml |  399 -------
 .../application/integtests/mml/received/.gitignore |    1 -
 .../integtests/smoke/Smoke_IntegTest.java          |  102 --
 starters/simpleapp/enhance-all.sh                  |    2 -
 starters/simpleapp/module-simple/.gitignore        |    8 -
 starters/simpleapp/module-simple/log4j2-test.xml   |   60 -
 .../module-simple/logging-dn-enhance.properties    |   41 -
 starters/simpleapp/module-simple/pom.xml           |   80 --
 .../src/main/java/META-INF/persistence.xml         |   26 -
 .../domainapp/modules/simple/SimpleModule.java     |   53 -
 .../modules/simple/dom/impl/SimpleObject.java      |  116 --
 .../simple/dom/impl/SimpleObject.layout.xml        |   68 --
 .../modules/simple/dom/impl/SimpleObject.png       |  Bin 653 -> 0 bytes
 .../modules/simple/dom/impl/SimpleObjects.java     |   96 --
 .../domainapp/modules/simple/dom/types/Name.java   |   54 -
 .../domainapp/modules/simple/dom/types/Notes.java  |   43 -
 .../simple/fixture/SimpleObjectBuilder.java        |   50 -
 .../simple/fixture/SimpleObject_persona.java       |   66 --
 .../modules/simple/dom/impl/SimpleObject_Test.java |   50 -
 .../simple/dom/impl/SimpleObjects_Test.java        |  115 --
 .../integtests/SimpleModuleIntegTestAbstract.java  |   56 -
 .../integtests/tests/SimpleObject_IntegTest.java   |  153 ---
 .../integtests/tests/SimpleObjects_IntegTest.java  |  111 --
 starters/simpleapp/pom.xml                         |   81 --
 starters/simpleapp/src/main/doc/antora.yml         |    6 -
 .../simpleapp/src/main/webapp/images/favicon.png   |  Bin 11624 -> 0 bytes
 starters/simpleapp/webapp/pom.xml                  |  239 ----
 .../src/main/java/domainapp/webapp/SimpleApp.java  |   75 --
 .../domainapp/webapp/layout/menubars.layout.xml    |  115 --
 .../webapp/src/main/resources/application.yml      |  145 ---
 .../simpleapp/webapp/src/main/resources/banner.txt |    6 -
 .../main/resources/config/application.properties   |   12 -
 .../simpleapp/webapp/src/main/resources/shiro.ini  |   93 --
 .../src/main/resources/static/css/application.css  |   19 -
 .../static/images/apache-isis/logo-48x48.png       |  Bin 2622 -> 0 bytes
 .../resources/static/images/apache-isis/logo.png   |  Bin 14160 -> 0 bytes
 .../src/main/resources/static/images/favicon.png   |  Bin 2143 -> 0 bytes
 .../webapp/src/main/resources/static/index.html    |  117 --
 .../main/resources/static/scripts/application.js   |    3 -
 .../src/main/webapp/WEB-INF/translations-en.po     |  674 -----------
 .../src/main/webapp/WEB-INF/translations-es.po     |  673 -----------
 .../src/main/webapp/WEB-INF/translations-nl.po     |  674 -----------
 .../webapp/src/main/webapp/WEB-INF/translations.po |  673 -----------
 .../webapp/src/main/webapp/WEB-INF/web.xml         |   27 -
 .../test/java/domain/webapp/lockdown/.gitignore    |    1 -
 .../webapp/lockdown/LockDownMavenDeps_Test.java    |   50 -
 .../LockDownMavenDeps_Test.list.approved.txt       |  225 ----
 .../LockDownMavenDeps_Test.tree.approved.txt       |  224 ----
 starters/src/main/doc/antora.yml                   |    8 +
 .../src/main/doc/modules/ROOT/_attributes.adoc     |    0
 .../main/doc/modules/ROOT/attachments}/.gitkeep    |    0
 .../src/main/doc/modules/ROOT/examples/.gitkeep    |    0
 .../main/doc/modules/ROOT/images}/.gitkeep         |    0
 .../src/main/doc/modules/ROOT/nav.adoc             |    0
 .../main/doc/modules/ROOT/pages}/_attributes.adoc  |    0
 .../src/main/doc/modules/ROOT}/pages/about.adoc    |    9 +-
 .../main/doc/modules/helloworld}/_attributes.adoc  |    0
 .../doc/modules/helloworld/attachments/.gitkeep}   |    0
 .../main/doc/modules/helloworld/examples}/.gitkeep |    0
 .../main/doc/modules/helloworld}/images/.gitkeep   |    0
 .../images/helloworld-before-launch.png            |  Bin
 .../doc/modules/helloworld}/images/helloworld.png  |  Bin
 .../images/using-hello-world/010-root-page.png     |  Bin
 .../020-login-to-wicket-viewer.png                 |  Bin
 .../images/using-hello-world/030-home-page.png     |  Bin
 .../040-create-object-from-menu.png                |  Bin
 .../050-create-object-from-menu-prompt.png         |  Bin
 .../using-hello-world/060-created-object.png       |  Bin
 .../images/using-hello-world/070-update-name.png   |  Bin
 .../images/using-hello-world/080-edit-notes.png    |  Bin
 .../images/using-hello-world/090-delete-object.png |  Bin
 .../using-hello-world/100-object-deleted.png       |  Bin
 .../200-swagger-ui-before-reload.png               |  Bin
 .../using-hello-world/210-helloworld-resources.png |  Bin
 .../220-create-object-thru-rest-api.png            |  Bin
 .../230-create-object-thru-rest-api-response.png   |  Bin
 .../240-retrieve-object-using-rest-api.png         |  Bin
 ...250-retrieve-object-using-rest-api-response.png |  Bin
 .../main/doc/modules/helloworld}/nav.adoc          |    0
 .../doc/modules/helloworld}/pages/_attributes.adoc |    0
 .../main/doc/modules/helloworld}/pages/about.adoc  |    4 +-
 .../modules/helloworld}/partials/_attributes.adoc  |    0
 .../main/doc/modules/simpleapp}/_attributes.adoc   |    0
 .../modules/simpleapp}/images/dockerhub-tags.png   |  Bin
 .../images/simpleapp-webapp-before-launch.png      |  Bin
 .../images/simpleapp-webapp-with-fixtures.png      |  Bin
 .../modules/simpleapp}/images/simpleapp-webapp.png |  Bin
 .../images/using-simple-app/030-home-page.png      |  Bin
 .../040-run-fixture-script-menu.png                |  Bin
 .../050-run-fixture-script-prompt.png              |  Bin
 .../060-run-fixture-script-result.png              |  Bin
 .../images/using-simple-app/070-home-page.png      |  Bin
 .../using-simple-app/structure/structure.pptx      |  Bin
 .../structure/structure/Slide1.PNG                 |  Bin
 .../structure/structure/Slide2.PNG                 |  Bin
 .../main/doc/modules/simpleapp}/nav.adoc           |    0
 .../doc/modules/simpleapp}/pages/_attributes.adoc  |    0
 .../main/doc/modules/simpleapp}/pages/about.adoc   |    6 +-
 .../modules/simpleapp}/partials/_attributes.adoc   |    0
 211 files changed, 112 insertions(+), 10969 deletions(-)

diff --git a/antora/components/security/modules/ROOT/pages/about.adoc b/antora/components/security/modules/ROOT/pages/about.adoc
index fc1c79d..b30b7f5 100644
--- a/antora/components/security/modules/ROOT/pages/about.adoc
+++ b/antora/components/security/modules/ROOT/pages/about.adoc
@@ -33,7 +33,7 @@ Shiro in turn uses the concept of a _realm_ as a source for both authentication
 WARNING: TODO: v2: Spring Boot requires that shiro.ini is on classpath, not in WEB-INF.
 
 Shiro ships with a simple text-based realm -- the `IniRealm` -- which reads users (and password), user roles and role permissions from the `WEB-INF/shiro.ini` file.
-The xref:helloworld:ROOT:about.adoc[HelloWorld] and xref:simpleapp:ROOT:about.adoc[SimpleApp] archetypes are both configured to use this realm.
+The xref:starters:helloworld:about.adoc[HelloWorld] and xref:starters:simpleapp:about.adoc[SimpleApp] archetypes are both configured to use this realm.
 
 Shiro also ships with an implementation of an LDAP-based realm; LDAP is often used to manage user/passwords and corresponding user groups.
 Apache Isis in turn extends this with its `IsisLdapRealm`, which provides more flexibility for both group/role and role/permissions management.
diff --git a/antora/components/toc/modules/ROOT/pages/about.adoc b/antora/components/toc/modules/ROOT/pages/about.adoc
index 6788058..6249465 100644
--- a/antora/components/toc/modules/ROOT/pages/about.adoc
+++ b/antora/components/toc/modules/ROOT/pages/about.adoc
@@ -22,8 +22,8 @@ include::_attributes.adoc[]
 [discrete]
 == Starter Apps
 
-* xref:helloworld:ROOT:about.adoc[Hello World]
-* xref:simpleapp:ROOT:about.adoc[SimpleApp]
+* xref:starters:helloworld:about.adoc[Hello World]
+* xref:starters:simpleapp:about.adoc[SimpleApp]
 
 |
 [discrete]
diff --git a/antora/components/toc/modules/ROOT/pages/downloads/how-to.adoc b/antora/components/toc/modules/ROOT/pages/downloads/how-to.adoc
index d36395c..ff16927 100644
--- a/antora/components/toc/modules/ROOT/pages/downloads/how-to.adoc
+++ b/antora/components/toc/modules/ROOT/pages/downloads/how-to.adoc
@@ -13,7 +13,7 @@ Use for prototyping or production.
 
 == Getting Started
 
-If you just want to get going quickly, we suggest using our xref:simpleapp:ROOT:about.adoc[Maven archetype].
+If you just want to get going quickly, we suggest using our xref:starters:simpleapp:about.adoc[Maven archetype].
 
 
 
diff --git a/antora/components/toc/modules/ROOT/pages/more-thanks/more-thanks.adoc b/antora/components/toc/modules/ROOT/pages/more-thanks/more-thanks.adoc
index 1d4f5c4..f30f66b 100644
--- a/antora/components/toc/modules/ROOT/pages/more-thanks/more-thanks.adoc
+++ b/antora/components/toc/modules/ROOT/pages/more-thanks/more-thanks.adoc
@@ -24,7 +24,7 @@ In addition to the http://www.apache.org/foundation/thanks.html[support given to
 
 
 |image::more-thanks/icons8-logo.png[link="http://icons8.com"]
-|Icons8, for selected icons on this website and in the link:https://github.com/apache/isis/tree/master/example/application/simpleapp/dom/src/main/resources/images[simpleapp] used to generate the xref:simpleapp:ROOT:about.adoc[simpleapp archetype]
+|Icons8, for selected icons on this website and in the link:https://github.com/apache/isis/tree/master/example/application/simpleapp/dom/src/main/resources/images[simpleapp] used to generate the xref:starters:simpleapp:about.adoc[simpleapp archetype]
 
 |===
 
diff --git a/antora/components/toc/modules/ROOT/pages/quick-start.adoc b/antora/components/toc/modules/ROOT/pages/quick-start.adoc
index 6219ceb..41f46d6 100644
--- a/antora/components/toc/modules/ROOT/pages/quick-start.adoc
+++ b/antora/components/toc/modules/ROOT/pages/quick-start.adoc
@@ -6,5 +6,5 @@ This page links to the two Maven archetypes that you can use to get started with
 
 == Starter Apps
 
-* xref:helloworld:ROOT:about.adoc[HelloWorld]
-* xref:simpleapp:ROOT:about.adoc[SimpleApp]
+* xref:starters:helloworld:about.adoc[HelloWorld]
+* xref:starters:simpleapp:about.adoc[SimpleApp]
diff --git a/antora/components/toc/modules/ROOT/pages/what-is-apache-isis/common-use-cases.adoc b/antora/components/toc/modules/ROOT/pages/what-is-apache-isis/common-use-cases.adoc
index d0c99d4..9bc860e 100644
--- a/antora/components/toc/modules/ROOT/pages/what-is-apache-isis/common-use-cases.adoc
+++ b/antora/components/toc/modules/ROOT/pages/what-is-apache-isis/common-use-cases.adoc
@@ -22,7 +22,7 @@ Once you've sketched out your domain model, you can then either start-over using
 One of the original motivations for Apache Isis itself was to be able automatically generate a user interface for a domain object model.
 
 Apache Isis' has a pluggable architecture allowing different user interface technologies.
- The principal implementation (as configured by the xref:simpleapp:ROOT:about.adoc[SimpleApp archetype]) is the xref:vw:ROOT:about.adoc[Wicket viewer].
+ The principal implementation (as configured by the xref:starters:simpleapp:about.adoc[SimpleApp archetype]) is the xref:vw:ROOT:about.adoc[Wicket viewer].
   This provides an appealing default user interface, with the ability to customize the user interface by writing new http://wicket.apache.org[Apache Wicket] components.
 Some third-party components can be found in the (non-ASF) link:https://platform.incode.org[Incode Platform^].
 
diff --git a/antora/components/toc/modules/ROOT/pages/what-is-apache-isis/screencasts-older.adoc b/antora/components/toc/modules/ROOT/pages/what-is-apache-isis/screencasts-older.adoc
index ec2b795..35bd9ec 100644
--- a/antora/components/toc/modules/ROOT/pages/what-is-apache-isis/screencasts-older.adoc
+++ b/antora/components/toc/modules/ROOT/pages/what-is-apache-isis/screencasts-older.adoc
@@ -81,7 +81,7 @@ Learn more xref:toc:devguide:about.adoc#intellij[here]
 
 |Commands and Auditing (v1.6.0) +
 
-_Configuring the command and auditing add-on modules for the xref:simpleapp:ROOT:about.adoc[SimpleApp]._ +
+_Configuring the command and auditing add-on modules for the xref:starters:simpleapp:about.adoc[SimpleApp]._ +
 
 Learn more at the (non-ASF) link:https://platform.incode.org[Incode Platform^]'s command and audit SPI modules
 
@@ -90,7 +90,7 @@ Learn more at the (non-ASF) link:https://platform.incode.org[Incode Platform^]'s
 
 |Security (v1.6.0) +
 
-_Configuring the security add-on module for for the xref:simpleapp:ROOT:about.adoc[SimpleApp]._ +
+_Configuring the security add-on module for for the xref:starters:simpleapp:about.adoc[SimpleApp]._ +
 
 Learn more at the (non-ASF) link:https://platform.incode.org[Incode Platform^]'s security SPI module.
 
diff --git a/antora/components/toc/modules/ROOT/pages/what-is-apache-isis/screencasts.adoc b/antora/components/toc/modules/ROOT/pages/what-is-apache-isis/screencasts.adoc
index da09815..c821679 100644
--- a/antora/components/toc/modules/ROOT/pages/what-is-apache-isis/screencasts.adoc
+++ b/antora/components/toc/modules/ROOT/pages/what-is-apache-isis/screencasts.adoc
@@ -45,7 +45,7 @@ Searching and using the Apache Isis docs
 
 
 |link:https://www.youtube.com/watch?v=OTNHR5EdAs8[001^] +
-Generating an app using the xref:simpleapp:ROOT:about.adoc[SimpleApp archetype]
+Generating an app using the xref:starters:simpleapp:about.adoc[SimpleApp archetype]
 
 |x||||||||||
 
diff --git a/antora/components/toc/modules/ROOT/partials/module-nav.adoc b/antora/components/toc/modules/ROOT/partials/module-nav.adoc
index fab9a83..82fe87c 100644
--- a/antora/components/toc/modules/ROOT/partials/module-nav.adoc
+++ b/antora/components/toc/modules/ROOT/partials/module-nav.adoc
@@ -7,8 +7,8 @@
 
 * Starter Apps
 
-** xref:helloworld:ROOT:about.adoc[HelloWorld]
-** xref:simpleapp:ROOT:about.adoc[SimpleApp]
+** xref:starters:helloworld:about.adoc[HelloWorld]
+** xref:starters:simpleapp:about.adoc[SimpleApp]
 
 * Demos & Tutorials
 
diff --git a/antora/components/toc/modules/comguide/pages/verifying-releases.adoc b/antora/components/toc/modules/comguide/pages/verifying-releases.adoc
index 9493b2a..52eb4c6 100644
--- a/antora/components/toc/modules/comguide/pages/verifying-releases.adoc
+++ b/antora/components/toc/modules/comguide/pages/verifying-releases.adoc
@@ -134,7 +134,7 @@ Alternatively, you can xref:toc:comguide:verifying-releases.adoc#casting-a-vote[
 
 == (Optional) Verifying binary artifacts
 
-You can verify the binary releases by configuring your local Maven install to point to the Maven staging repository (or repositories) and then using them, eg to run the xref:helloworld:ROOT:about.adoc[HelloWorld archetype] or the xref:simpleapp:ROOT:about.adoc[SimpleApp archetype] and running the resultant app.
+You can verify the binary releases by configuring your local Maven install to point to the Maven staging repository (or repositories) and then using them, eg to run the xref:starters:helloworld:about.adoc[HelloWorld archetype] or the xref:starters:simpleapp:about.adoc[SimpleApp archetype] and running the resultant app.
 
 Configuring your local Maven install amounts to updating the `~/.m2/settings.xml` file:
 
diff --git a/antora/components/toc/modules/devguide/pages/hints-and-tips/datanucleus-enhancer.adoc b/antora/components/toc/modules/devguide/pages/hints-and-tips/datanucleus-enhancer.adoc
index ee52dd9..2741f79 100644
--- a/antora/components/toc/modules/devguide/pages/hints-and-tips/datanucleus-enhancer.adoc
+++ b/antora/components/toc/modules/devguide/pages/hints-and-tips/datanucleus-enhancer.adoc
@@ -20,7 +20,7 @@ What this means is that the enhancer -- available as both a Maven plugin and as
 
 If working from the Maven command line, JDO enhancement is done using the `maven-datanucleus-plugin`.
 
-Both the xref:helloworld:ROOT:about.adoc[HelloWorld] and xref:simpleapp:ROOT:about.adoc[SimpleApp] Maven archetypes generate applications that have this plugin pre-configured.
+Both the xref:starters:helloworld:about.adoc[HelloWorld] and xref:starters:simpleapp:about.adoc[SimpleApp] Maven archetypes generate applications that have this plugin pre-configured.
 
 
 
@@ -41,7 +41,7 @@ It's also a good idea to ensure that every domain module(s) containing entities
 ----
 <1> change as required; typically is the name of the domain module.
 
-Again, the applications generated by both the xref:helloworld:ROOT:about.adoc[HelloWorld] and xref:simpleapp:ROOT:about.adoc[Simpleapp] Maven archetypes do this.
+Again, the applications generated by both the xref:starters:helloworld:about.adoc[HelloWorld] and xref:starters:simpleapp:about.adoc[Simpleapp] Maven archetypes do this.
 
 
 [WARNING]
diff --git a/antora/components/toc/modules/devguide/pages/hints-and-tips/enabling-logging.adoc b/antora/components/toc/modules/devguide/pages/hints-and-tips/enabling-logging.adoc
index 06205a3..ca5f712 100644
--- a/antora/components/toc/modules/devguide/pages/hints-and-tips/enabling-logging.adoc
+++ b/antora/components/toc/modules/devguide/pages/hints-and-tips/enabling-logging.adoc
@@ -18,7 +18,7 @@ As per the http://www.datanucleus.org/products/accessplatform/logging.html[DN lo
 * In the JDBC Driver +
 +
 Configure `log4jdbc` JDBC rather than the vanilla driver (see `WEB-INF/persistor_datanucleus.properties`) and configure log4j logging (see `WEB-INF/logging.properties`).
-There are examples of both in the xref:simpleapp:ROOT:about.adoc[SimpleApp archetype].
+There are examples of both in the xref:starters:simpleapp:about.adoc[SimpleApp archetype].
 
 * In the database +
 +
diff --git a/antora/components/toc/modules/devguide/pages/hints-and-tips/how-run-fixtures-on-app-startup.adoc b/antora/components/toc/modules/devguide/pages/hints-and-tips/how-run-fixtures-on-app-startup.adoc
index 175f7b4..f3664e5 100644
--- a/antora/components/toc/modules/devguide/pages/hints-and-tips/how-run-fixtures-on-app-startup.adoc
+++ b/antora/components/toc/modules/devguide/pages/hints-and-tips/how-run-fixtures-on-app-startup.adoc
@@ -14,7 +14,7 @@ Use events?_
 
 
 The standard approach is to use xref:fixtures:ROOT:about.adoc[fixture scripts].
-These can be run in on start-up typically by being specified in the xref:refguide:applib-cm:classes/AppManifest-bootstrapping.adoc[`AppManifest`], see for example the xref:simpleapp:ROOT:about.adoc[SimpleApp archetype].
+These can be run in on start-up typically by being specified in the xref:refguide:applib-cm:classes/AppManifest-bootstrapping.adoc[`AppManifest`], see for example the xref:starters:simpleapp:about.adoc[SimpleApp archetype].
 
 Alternatively just set `isis.fixtures` and `isis.persistor.datanucleus.install-fixtures` properties.
 
diff --git a/antora/components/toc/modules/devguide/pages/ide/eclipse.adoc b/antora/components/toc/modules/devguide/pages/ide/eclipse.adoc
index 67f6508..eb4c0f8 100644
--- a/antora/components/toc/modules/devguide/pages/ide/eclipse.adoc
+++ b/antora/components/toc/modules/devguide/pages/ide/eclipse.adoc
@@ -38,7 +38,7 @@ To install, download each XML file, then go to `Windows > Preferences > Java > E
 
 == Install Project Lombok
 
-The xref:simpleapp:ROOT:about.adoc[SimpleApp archetype] uses link:http://projectlombok.org[Project Lombok] annotations (`@Getter` and `@Setter` and so on) to reduce the boilerplate.
+The xref:starters:simpleapp:about.adoc[SimpleApp archetype] uses link:http://projectlombok.org[Project Lombok] annotations (`@Getter` and `@Setter` and so on) to reduce the boilerplate.
 For Eclipse IDE this requires an link:https://projectlombok.org/setup/eclipse[installation step]:
 
 * Locate the `lombok.jar` jar file:
@@ -120,7 +120,7 @@ DataNucleus' enhancer uses the domain object model's own classpath to reference
 So, even though your domain objects are unlikely to depend on DataNucleus, these references must still be present.
 
 See the section in xref:toc:devguide:hints-and-tips/datanucleus-enhancer.adoc[DataNucleus enhancer] for details of the contents of the `pom.xml`.
-Chances are it is already set up from running the xref:helloworld:ROOT:about.adoc[HelloWorld] or the xref:simpleapp:ROOT:about.adoc[SimpleApp] archetype.
+Chances are it is already set up from running the xref:starters:helloworld:about.adoc[HelloWorld] or the xref:starters:simpleapp:about.adoc[SimpleApp] archetype.
 
 
 Then, tell DataNucleus to use the project classpath:
diff --git a/antora/components/userguide/modules/btb/pages/deployment/neo4j.adoc b/antora/components/userguide/modules/btb/pages/deployment/neo4j.adoc
index 0008653..2d094e2 100644
--- a/antora/components/userguide/modules/btb/pages/deployment/neo4j.adoc
+++ b/antora/components/userguide/modules/btb/pages/deployment/neo4j.adoc
@@ -46,14 +46,14 @@ Add the following dependency to the `webapp` project's `pom.xml`:
 <1> for Isis v1.9.0, use the value shown.
 For Isis v1.8.0, use 3.2.3.
 
-In the xref:simpleapp:ROOT:about.adoc[SimpleApp archetype] this is defined under the "neo4j" profile so can be activated using `-P neo4j`.
+In the xref:starters:simpleapp:about.adoc[SimpleApp archetype] this is defined under the "neo4j" profile so can be activated using `-P neo4j`.
 
 
 == Try it out!
 
 If you want to quickly try out neo4j for yourself:
 
-* run the xref:simpleapp:ROOT:about.adoc[SimpleApp archetype] (v1.8.0)
+* run the xref:starters:simpleapp:about.adoc[SimpleApp archetype] (v1.8.0)
 
 * build the app:
 
diff --git a/antora/components/userguide/modules/btb/pages/i18n.adoc b/antora/components/userguide/modules/btb/pages/i18n.adoc
index 4c6d9d4..30b542c 100644
--- a/antora/components/userguide/modules/btb/pages/i18n.adoc
+++ b/antora/components/userguide/modules/btb/pages/i18n.adoc
@@ -129,7 +129,7 @@ Moreover, these messages must be captured in the `.pot` file such that they can
 The first part of the puzzle is tackled by an extension to Apache Isis' programming model.
 Whereas previously the `disableXxx()` / `validateXxx()` / `title()` methods could only return a `java.lang.String`, they may now optionally return a `TranslatableString` (defined in Isis applib) instead.
 
-Here's a (silly) example from the xref:simpleapp:ROOT:about.adoc[SimpleApp archetype]:
+Here's a (silly) example from the xref:starters:simpleapp:about.adoc[SimpleApp archetype]:
 
 [source,java]
 ----
diff --git a/antora/components/userguide/modules/fun/pages/about.adoc b/antora/components/userguide/modules/fun/pages/about.adoc
index c048e67..dd761ed 100644
--- a/antora/components/userguide/modules/fun/pages/about.adoc
+++ b/antora/components/userguide/modules/fun/pages/about.adoc
@@ -2,7 +2,7 @@
 :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 ag [...]
 include::_attributes.adoc[]
 
-This guide introduces the xref:userguide:fun:core-concepts.adoc[core concepts] and the xref:userguide:fun:building-blocks.adoc[building blocks] of Apache Isis, and tells you how to get started with the xref:helloworld:ROOT:about.adoc[helloworld starter app].
+This guide introduces the xref:userguide:fun:core-concepts.adoc[core concepts] and the xref:userguide:fun:building-blocks.adoc[building blocks] of Apache Isis, and tells you how to get started with the xref:starters:helloworld:about.adoc[helloworld starter app].
 
 It describes in some detail the conventions of Apache Isis' xref:userguide:fun:programming-model.adoc[programming model]s, describes how to influence the xref:vw:ROOT:layout.adoc[UI layout] of your domain objects , and it catalogues various xref:toc:devguide:hints-and-tips.adoc.adoc[FAQ]s.
 
diff --git a/antora/components/userguide/modules/fun/pages/core-concepts/philosophy/how-eases-ddd.adoc b/antora/components/userguide/modules/fun/pages/core-concepts/philosophy/how-eases-ddd.adoc
index b86ad51..2410875 100644
--- a/antora/components/userguide/modules/fun/pages/core-concepts/philosophy/how-eases-ddd.adoc
+++ b/antora/components/userguide/modules/fun/pages/core-concepts/philosophy/how-eases-ddd.adoc
@@ -54,7 +54,7 @@ If we are using code as the primary means of expressing the model, then we need
 We could generate UML diagrams and the like from code. That will work for some members of the business community, but not for everyone. Or we could generate a PDF document from Javadoc comments, but comments aren't code and so the document may be inaccurate.  Anyway, even if we do create such a document, not everyone will read it.
 
 A better way to represent the model is to show it in action as a working prototype.
-As we show in the xref:helloworld:ROOT:about.adoc[Getting Started] section, Apache Isis enables this with ease. Such prototypes bring the domain model to life, engaging the audience in a way that a piece of paper never can.
+As we show in the xref:starters:helloworld:about.adoc[Getting Started] section, Apache Isis enables this with ease. Such prototypes bring the domain model to life, engaging the audience in a way that a piece of paper never can.
 
 Moreover, with Apache Isis prototypes, the domain model will come shining through. If there are mistakes or misunderstandings in the domain model (inevitable when building any complex system), they will be obvious to all.
 
diff --git a/antora/components/userguide/modules/fun/pages/programming-model/properties.adoc b/antora/components/userguide/modules/fun/pages/programming-model/properties.adoc
index 499fd57..7f7c70a 100644
--- a/antora/components/userguide/modules/fun/pages/programming-model/properties.adoc
+++ b/antora/components/userguide/modules/fun/pages/programming-model/properties.adoc
@@ -26,7 +26,7 @@ It's also possible (using annotations) to define a link table to hold foreign ke
 Apache Isis recognises some of these annotations for JDO/DataNucleus and JAXB and infers some domain semantics from them (for example, the maximum allowable length of a string property).
 
 Since writing getter and setter methods adds quite a bit of boilerplate, it's common to use link:https://projectlombok.org/[Project Lombok] to code generate these methods at compile time (using Java's annotation processor) simply by adding the `@lombok.Getter` and `@lombok.Setter` annotations to the field.
-The xref:helloworld:ROOT:about.adoc[HelloWorld] and xref:simpleapp:ROOT:about.adoc[SimpleApp] archetypes use this approach.
+The xref:starters:helloworld:about.adoc[HelloWorld] and xref:starters:simpleapp:about.adoc[SimpleApp] archetypes use this approach.
 
 
 == Value vs Reference Types
diff --git a/antora/playbooks/site-toc.yml b/antora/playbooks/site-toc.yml
index 87f90d4..edbdb3f9 100644
--- a/antora/playbooks/site-toc.yml
+++ b/antora/playbooks/site-toc.yml
@@ -13,10 +13,7 @@ content:
 
 # starters
     - url: .
-      start_path: starters/helloworld/src/main/doc # helloworld
-      branches: HEAD
-    - url: .
-      start_path: starters/simpleapp/src/main/doc # simpleapp
+      start_path: starters/src/main/doc # starters
       branches: HEAD
 
 # mavendeps
diff --git a/core/applib/src/main/doc/modules/applib-cm/pages/classes/AppManifest-bootstrapping.adoc b/core/applib/src/main/doc/modules/applib-cm/pages/classes/AppManifest-bootstrapping.adoc
index 612edac..4867aa4 100644
--- a/core/applib/src/main/doc/modules/applib-cm/pages/classes/AppManifest-bootstrapping.adoc
+++ b/core/applib/src/main/doc/modules/applib-cm/pages/classes/AppManifest-bootstrapping.adoc
@@ -255,7 +255,7 @@ In other words these describe how the application chooses to configure the frame
 +
 The classic example here is the JDBC URL.
 
-For example, the xref:simpleapp:ROOT:about.adoc[SimpleApp archetype]'s `AppManifest` is defined as:
+For example, the xref:starters:simpleapp:about.adoc[SimpleApp archetype]'s `AppManifest` is defined as:
 
 [source,java]
 ----
diff --git a/core/applib/src/main/doc/modules/applib-svc/pages/testing/FixtureScriptsSpecificationProvider.adoc b/core/applib/src/main/doc/modules/applib-svc/pages/testing/FixtureScriptsSpecificationProvider.adoc
index a3a2bd8..0aca1f0 100644
--- a/core/applib/src/main/doc/modules/applib-svc/pages/testing/FixtureScriptsSpecificationProvider.adoc
+++ b/core/applib/src/main/doc/modules/applib-svc/pages/testing/FixtureScriptsSpecificationProvider.adoc
@@ -51,7 +51,7 @@ The class is immutable but it has a builder (obtained using `FixturescriptsSpeci
 
 == Implementation
 
-The xref:simpleapp:ROOT:about.adoc[SimpleApp archetype] has a simple implementation of this service:
+The xref:starters:simpleapp:about.adoc[SimpleApp archetype] has a simple implementation of this service:
 
 [source,java]
 ----
diff --git a/core/config/src/main/doc/modules/config/pages/specifying-components.adoc b/core/config/src/main/doc/modules/config/pages/specifying-components.adoc
index 471d511..0fbd4e0 100644
--- a/core/config/src/main/doc/modules/config/pages/specifying-components.adoc
+++ b/core/config/src/main/doc/modules/config/pages/specifying-components.adoc
@@ -29,7 +29,7 @@ To specify the `AppManifest` as a configuration property, use:
 |`o.a.i.applib.AppManifest` +
 
 By convention this implementation resides in an `myapp-app` Maven module (as opposed to `myapp-dom` or `myapp-fixture`).
-See the xref:simpleapp:ROOT:about.adoc[SimpleApp archetype] for details.
+See the xref:starters:simpleapp:about.adoc[SimpleApp archetype] for details.
 
 |===
 
diff --git a/core/config/src/main/java/org/apache/isis/config/IsisConfiguration.java b/core/config/src/main/java/org/apache/isis/config/IsisConfiguration.java
index 0d88ba7..fa6e47e 100644
--- a/core/config/src/main/java/org/apache/isis/config/IsisConfiguration.java
+++ b/core/config/src/main/java/org/apache/isis/config/IsisConfiguration.java
@@ -641,7 +641,6 @@ public class IsisConfiguration {
 
             @Data
             public static class Po {
-
                 TranslationService.Mode mode = TranslationService.Mode.WRITE;
             }
 
diff --git a/core/config/src/main/java/org/apache/isis/config/IsisPresets.java b/core/config/src/main/java/org/apache/isis/config/IsisPresets.java
index 6612229..2f10ce9 100644
--- a/core/config/src/main/java/org/apache/isis/config/IsisPresets.java
+++ b/core/config/src/main/java/org/apache/isis/config/IsisPresets.java
@@ -27,8 +27,7 @@ package org.apache.isis.config;
 public final class IsisPresets  {
 
     public static final String NoTranslations = "classpath:/presets/NoTranslations.properties";
-    
-    public static final String Log4j2Test = "classpath:/presets/Log4j2Test.properties";
+
     public static final String H2InMemory = "classpath:/presets/H2InMemory.properties";
 
     /** randomized (unique) database name, eg. to allow for concurrent testing */
@@ -47,7 +46,7 @@ public final class IsisPresets  {
     public static final String SilenceMetaModel = "classpath:/presets/SilenceMetaModel.properties";
     
     public static final String SilenceWicket = "classpath:/presets/SilenceWicket.properties";
-    
+
     /**
      * @deprecated seems no longer required anyway
      */
diff --git a/core/config/src/main/resources/presets/Log4j2Test.properties b/core/config/src/main/resources/presets/Log4j2Test.properties
deleted file mode 100644
index df0c635..0000000
--- a/core/config/src/main/resources/presets/Log4j2Test.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-#  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.
-
-logging.config=log4j2-test.xml
\ No newline at end of file
diff --git a/core/persistence/jdo/src/main/doc/modules/ROOT/pages/configuring/disabling-persistence-by-reachability.adoc b/core/persistence/jdo/src/main/doc/modules/ROOT/pages/configuring/disabling-persistence-by-reachability.adoc
index 82b8487..52892bf 100644
--- a/core/persistence/jdo/src/main/doc/modules/ROOT/pages/configuring/disabling-persistence-by-reachability.adoc
+++ b/core/persistence/jdo/src/main/doc/modules/ROOT/pages/configuring/disabling-persistence-by-reachability.adoc
@@ -27,7 +27,7 @@ We therefore recommend that you disable persistence-by-reachability by adding th
 isis.persistor.datanucleus.impl.datanucleus.persistenceByReachabilityAtCommit=false
 ----
 
-This change has been made to both the xref:helloworld:ROOT:about.adoc[HelloWorld] and xref:simpleapp:ROOT:about.adoc[SimpleApp] archetypes.
+This change has been made to both the xref:starters:helloworld:about.adoc[HelloWorld] and xref:starters:simpleapp:about.adoc[SimpleApp] archetypes.
 
 If you do disable this feature, then you will (of course) need to ensure that you explicitly persist all entities using the `RepositoryService#persist(.)` or `RepositoryService#persistAndFlush(.)` methods.
 
diff --git a/core/persistence/jdo/src/main/doc/modules/ROOT/pages/configuring/persistence-xml.adoc b/core/persistence/jdo/src/main/doc/modules/ROOT/pages/configuring/persistence-xml.adoc
index 8ffe3d9..c345764 100644
--- a/core/persistence/jdo/src/main/doc/modules/ROOT/pages/configuring/persistence-xml.adoc
+++ b/core/persistence/jdo/src/main/doc/modules/ROOT/pages/configuring/persistence-xml.adoc
@@ -9,7 +9,7 @@ DataNucleus will for itself also and read the `META-INF/persistence.xml`.
 In theory it can hold mappings and even connection strings.
 However, with Apache Isis we tend to use annotations instead and externalize connection strings. so its definition is extremely simply, specifying just the name of the "persistence unit".
 
-Here's the one provided by the xref:simpleapp:ROOT:about.adoc[SimpleApp archetype]:
+Here's the one provided by the xref:starters:simpleapp:about.adoc[SimpleApp archetype]:
 
 [source,xml]
 ----
diff --git a/core/runtime-extensions/pom.xml b/core/runtime-extensions/pom.xml
index 7b8b6a9..6e4f668 100644
--- a/core/runtime-extensions/pom.xml
+++ b/core/runtime-extensions/pom.xml
@@ -38,6 +38,10 @@
     <build>
         <resources>
             <resource>
+                <filtering>false</filtering>
+                <directory>src/main/resources</directory>
+            </resource>
+            <resource>
                 <directory>src/main/java</directory>
                 <filtering>false</filtering>
                 <includes>
diff --git a/core/runtime-services/pom.xml b/core/runtime-services/pom.xml
index c87f14d..577ee35 100644
--- a/core/runtime-services/pom.xml
+++ b/core/runtime-services/pom.xml
@@ -38,6 +38,10 @@
     <build>
         <resources>
             <resource>
+                <filtering>false</filtering>
+                <directory>src/main/resources</directory>
+            </resource>
+            <resource>
                 <directory>src/main/java</directory>
                 <filtering>false</filtering>
                 <includes>
diff --git a/core/runtime-web/pom.xml b/core/runtime-web/pom.xml
index 6fc870c..0c9678c 100644
--- a/core/runtime-web/pom.xml
+++ b/core/runtime-web/pom.xml
@@ -39,6 +39,10 @@
     <build>
         <resources>
             <resource>
+                <directory>src/main/resources</directory>
+                <filtering>false</filtering>
+            </resource>
+            <resource>
                 <directory>src/main/java</directory>
                 <filtering>false</filtering>
                 <includes>
@@ -48,10 +52,6 @@
                     <exclude>**/*.java</exclude>
                 </excludes>
             </resource>
-            <resource>
-                <directory>src/main/resources</directory>
-                <filtering>false</filtering>
-            </resource>
         </resources>
     </build>
 
diff --git a/core/security/shiro/src/main/doc/modules/shiro/pages/about/configuring-isis-to-use-shiro.adoc b/core/security/shiro/src/main/doc/modules/shiro/pages/about/configuring-isis-to-use-shiro.adoc
index 2d2ac47..06a3fd3 100644
--- a/core/security/shiro/src/main/doc/modules/shiro/pages/about/configuring-isis-to-use-shiro.adoc
+++ b/core/security/shiro/src/main/doc/modules/shiro/pages/about/configuring-isis-to-use-shiro.adoc
@@ -10,7 +10,7 @@ The Shiro security mechanism is an integration wih Apache Shiro that implements
 
 [TIP]
 ====
-Both the xref:helloworld:ROOT:about.adoc[HelloWorld] and xref:simpleapp:ROOT:about.adoc[SimpleApp] archetypes are pre-configured to use Apache Shiro, so much of what follows may well have been set up already.
+Both the xref:starters:helloworld:about.adoc[HelloWorld] and xref:starters:simpleapp:about.adoc[SimpleApp] archetypes are pre-configured to use Apache Shiro, so much of what follows may well have been set up already.
 ====
 
 
@@ -18,7 +18,7 @@ Both the xref:helloworld:ROOT:about.adoc[HelloWorld] and xref:simpleapp:ROOT:abo
 
 To tell Apache Isis to use Shiro when using an xref:refguide:applib-cm:rgcms.adoc#__rgcms_classes_AppManifest-bootstrapping_bootstrapping_AppManifestAbstract[`AppManifestAbstract.BUILDER`], simply specify the "authMechanism" as "shiro".
 
-For example, the xref:helloworld:ROOT:about.adoc[HelloWorld archetype] bootstraps using:
+For example, the xref:starters:helloworld:about.adoc[HelloWorld archetype] bootstraps using:
 
 [source,java]
 ----
diff --git a/core/security/shiro/src/main/doc/modules/shiro/pages/about/ini-realm.adoc b/core/security/shiro/src/main/doc/modules/shiro/pages/about/ini-realm.adoc
index b0fa43a..303322c 100644
--- a/core/security/shiro/src/main/doc/modules/shiro/pages/about/ini-realm.adoc
+++ b/core/security/shiro/src/main/doc/modules/shiro/pages/about/ini-realm.adoc
@@ -11,7 +11,7 @@ Probably the simplest realm to use is Shiro's built-in `IniRealm`, which reads f
 
 This is suitable for prototyping, but isn't intended for production use, if only because user/password credentials are stored in plain text.
 Nevertheless, it's a good starting point.
-The app generated by both the xref:helloworld:ROOT:about.adoc[HelloWorld] and xref:simpleapp:ROOT:about.adoc[SimpleApp]  archetypes are configured to use this realm.
+The app generated by both the xref:starters:helloworld:about.adoc[HelloWorld] and xref:starters:simpleapp:about.adoc[SimpleApp]  archetypes are configured to use this realm.
 
 The diagram below shows the Isis and components involved:
 
diff --git a/core/testsupport/integtestsupport/src/main/doc/modules/integ-test-support/pages/integ-test-support/bootstrapping.adoc b/core/testsupport/integtestsupport/src/main/doc/modules/integ-test-support/pages/integ-test-support/bootstrapping.adoc
index 3d83594..487f426 100644
--- a/core/testsupport/integtestsupport/src/main/doc/modules/integ-test-support/pages/integ-test-support/bootstrapping.adoc
+++ b/core/testsupport/integtestsupport/src/main/doc/modules/integ-test-support/pages/integ-test-support/bootstrapping.adoc
@@ -10,7 +10,7 @@ Because (depending on the size of your app) it takes a little time to bootstrap
 
 The recommended way to bootstrapping of integration tests is done using a xref:refguide:applib-cm:classes/AppManifest2-bootstrapping.adoc[`Module`] implementation, along with the `IntegrationTestAbstract3` superclass.
 
-For example, the xref:simpleapp:ROOT:about.adoc[SimpleApp archetype]'s integration tests all inherit from this class:
+For example, the xref:starters:simpleapp:about.adoc[SimpleApp archetype]'s integration tests all inherit from this class:
 
 [source,java]
 ----
diff --git a/core/testsupport/integtestsupport/src/main/doc/modules/integ-test-support/pages/integ-test-support/maven-configuration.adoc b/core/testsupport/integtestsupport/src/main/doc/modules/integ-test-support/pages/integ-test-support/maven-configuration.adoc
index af8abbe..aed5ec7 100644
--- a/core/testsupport/integtestsupport/src/main/doc/modules/integ-test-support/pages/integ-test-support/maven-configuration.adoc
+++ b/core/testsupport/integtestsupport/src/main/doc/modules/integ-test-support/pages/integ-test-support/maven-configuration.adoc
@@ -4,7 +4,7 @@
 include::_attributes.adoc[]
 
 
-Apache Isis' integration test support is automatically configured if you use the xref:simpleapp:ROOT:about.adoc[SimpleApp starter app].
+Apache Isis' integration test support is automatically configured if you use the xref:starters:simpleapp:about.adoc[SimpleApp starter app].
 To set it up manually, update the `pom.xml` of your domain object model module:
 
 [source,xml]
@@ -21,7 +21,7 @@ To set it up manually, update the `pom.xml` of your domain object model module:
 
 [NOTE]
 ====
-This can also be done by adding a dependency to `org.apache.isis.mavendeps:isis-mavendeps-testing` module; see the xref:simpleapp:ROOT:about.adoc[SimpleApp starter app].
+This can also be done by adding a dependency to `org.apache.isis.mavendeps:isis-mavendeps-testing` module; see the xref:starters:simpleapp:about.adoc[SimpleApp starter app].
 ====
 
 We also recommend that you configure the `maven-surefire-plugin` to pick up the following class patterns:
@@ -52,5 +52,5 @@ We also recommend that you configure the `maven-surefire-plugin` to pick up the
 
 [NOTE]
 ====
-This can also be done using mavenmixins; see the xref:simpleapp:ROOT:about.adoc[SimpleApp starter app].
+This can also be done using mavenmixins; see the xref:starters:simpleapp:about.adoc[SimpleApp starter app].
 ====
diff --git a/core/testsupport/mavenplugin/src/main/doc/modules/mvn/pages/intro.adoc b/core/testsupport/mavenplugin/src/main/doc/modules/mvn/pages/intro.adoc
index 5f097e3..6613bbf 100644
--- a/core/testsupport/mavenplugin/src/main/doc/modules/mvn/pages/intro.adoc
+++ b/core/testsupport/mavenplugin/src/main/doc/modules/mvn/pages/intro.adoc
@@ -36,7 +36,7 @@ As noted in the introduction, all the goals require an xref:refguide:applib-cm:c
 This can be extremely minimal; it isn't necessary to use the main `AppManifest` (in the `app` module) used to bootstrap the application, you can instead use a cut-down one.
 This then allows the plugins to be run during the build of the `dom` module, rather than having to run in the context of the `integtest` module.
 
-For example, the xref:simpleapp:ROOT:about.adoc[SimpleApp]'s
+For example, the xref:starters:simpleapp:about.adoc[SimpleApp]'s
 manifest is:
 
 [source,java]
@@ -82,6 +82,6 @@ We recommend the following:
 
 * run the `xsd` plugin in a new `xsd` submodule; contributed actions are irrelevant for this particular goal; having a separate submodule allows the configuration of both the `xsd` goal (to generate the XSD schemas) and any other XSD-related configuration to be kept in a single place.
 
-The xref:simpleapp:ROOT:about.adoc[SimpleApp archetype] reflects these recommendations for the `validate` and `swagger` goals.
+The xref:starters:simpleapp:about.adoc[SimpleApp archetype] reflects these recommendations for the `validate` and `swagger` goals.
 You can find an example of the `xsd` plugin in the (non-ASF) http://github.com/isisaddons/isis-app-todoapp[Isis addons' todoapp] application.
 
diff --git a/core/testsupport/mavenplugin/src/main/doc/modules/mvn/pages/validate.adoc b/core/testsupport/mavenplugin/src/main/doc/modules/mvn/pages/validate.adoc
index 48a1489..8b29174 100644
--- a/core/testsupport/mavenplugin/src/main/doc/modules/mvn/pages/validate.adoc
+++ b/core/testsupport/mavenplugin/src/main/doc/modules/mvn/pages/validate.adoc
@@ -106,7 +106,7 @@ mvn test -Dskip.isis-validate
 
 == Example of failure
 
-In the xref:simpleapp:ROOT:about.adoc[SimpleApp] application the `SimpleObject` defines an `updateName` action.
+In the xref:starters:simpleapp:about.adoc[SimpleApp] application the `SimpleObject` defines an `updateName` action.
 This has a supporting method:
 
 
diff --git a/core/testsupport/unittestsupport/src/main/doc/modules/unit-test-support/pages/unit-test-support/maven-configuration.adoc b/core/testsupport/unittestsupport/src/main/doc/modules/unit-test-support/pages/unit-test-support/maven-configuration.adoc
index c2d00ec..4271edd 100644
--- a/core/testsupport/unittestsupport/src/main/doc/modules/unit-test-support/pages/unit-test-support/maven-configuration.adoc
+++ b/core/testsupport/unittestsupport/src/main/doc/modules/unit-test-support/pages/unit-test-support/maven-configuration.adoc
@@ -4,7 +4,7 @@
 include::_attributes.adoc[]
 
 
-Apache Isis' unit test support is automatically configured if you use the xref:helloworld:ROOT:about.adoc[HelloWorld] or the xref:simpleapp:ROOT:about.adoc[SimpleApp] archetypes.
+Apache Isis' unit test support is automatically configured if you use the xref:starters:helloworld:about.adoc[HelloWorld] or the xref:starters:simpleapp:about.adoc[SimpleApp] archetypes.
 To set it up manually, update the `pom.xml` of your domain object model module:
 
 [source,xml]
@@ -20,7 +20,7 @@ To set it up manually, update the `pom.xml` of your domain object model module:
 
 [NOTE]
 ====
-This can also be done by adding a dependency to `org.apache.isis.mavendeps:isis-mavendeps-testing` module; see the xref:simpleapp:ROOT:about.adoc[SimpleApp starter app].
+This can also be done by adding a dependency to `org.apache.isis.mavendeps:isis-mavendeps-testing` module; see the xref:starters:simpleapp:about.adoc[SimpleApp starter app].
 ====
 
 
@@ -52,5 +52,5 @@ We also recommend that you configure the `maven-surefire-plugin` to pick up the
 
 [NOTE]
 ====
-This can also be done using mavenmixins; see the xref:simpleapp:ROOT:about.adoc[SimpleApp starter app].
+This can also be done using mavenmixins; see the xref:starters:simpleapp:about.adoc[SimpleApp starter app].
 ====
diff --git a/core/viewers/restfulobjects/src/main/doc/modules/ROOT/pages/layout-resources.adoc b/core/viewers/restfulobjects/src/main/doc/modules/ROOT/pages/layout-resources.adoc
index 4b3a03f..01b51f6 100644
--- a/core/viewers/restfulobjects/src/main/doc/modules/ROOT/pages/layout-resources.adoc
+++ b/core/viewers/restfulobjects/src/main/doc/modules/ROOT/pages/layout-resources.adoc
@@ -13,7 +13,7 @@ This chapter provides details of these resources, the link ``Rel``s to access th
 
 The xref:refguide:applib-svc:presentation-layer-spi/MenuBarsService.adoc[`MenuBarsService`] provides the `menu.layout.xml` XML document which defines how to group the various domain service actions into menubars, menus and menu sections.
 
-For example, the xref:helloworld:ROOT:about.adoc[Hello World starter app] has the following layout:
+For example, the xref:starters:helloworld:about.adoc[Hello World starter app] has the following layout:
 
 [source,xml]
 ----
@@ -135,7 +135,7 @@ Note that because of dynamic icons (the xref:refguide:applib-cm:methods.adoc#ico
 The xref:refguide:applib-svc:presentation-layer-spi/GridService.adoc[`GridService`] provides an XML document which defines the layout of any of domain object.
 Typically this is the contents of the `Xxx.layout.xml` file (where `Xxx` is the domain type).
 
-For example, in the xref:helloworld:ROOT:about.adoc[Hello World starter app] the `HelloWorld` domain object has a layout defined by `HelloWorld.layout.xml`.
+For example, in the xref:starters:helloworld:about.adoc[Hello World starter app] the `HelloWorld` domain object has a layout defined by `HelloWorld.layout.xml`.
 
 The representation returned by the domain object resource (section 14.4 of the RO spec v1.0) has been extended to provide a link to this resource:
 
diff --git a/core/viewers/wicket/src/main/doc/modules/ROOT/pages/layout/file-based.adoc b/core/viewers/wicket/src/main/doc/modules/ROOT/pages/layout/file-based.adoc
index a5bdaea..301f4ad 100644
--- a/core/viewers/wicket/src/main/doc/modules/ROOT/pages/layout/file-based.adoc
+++ b/core/viewers/wicket/src/main/doc/modules/ROOT/pages/layout/file-based.adoc
@@ -459,7 +459,7 @@ Ensure the following is defined in the dom project's `pom.xml`:
 </resources>
 ----
 
-If using an Apache Isis xref:helloworld:ROOT:about.adoc[HelloWorld] xref:simpleapp:ROOT:about.adoc[SimpleApp] archetypes, then the POM is already correctly configured.
+If using an Apache Isis xref:starters:helloworld:about.adoc[HelloWorld] xref:starters:simpleapp:about.adoc[SimpleApp] archetypes, then the POM is already correctly configured.
 
 
 
diff --git a/examples/demo/pom.xml b/examples/demo/pom.xml
index 7c9584d..40bd6e6 100644
--- a/examples/demo/pom.xml
+++ b/examples/demo/pom.xml
@@ -42,6 +42,10 @@
 		<resources>
 			<resource>
 				<filtering>false</filtering>
+				<directory>src/main/resources</directory>
+			</resource>
+			<resource>
+				<filtering>false</filtering>
 				<directory>src/main/java</directory>
 				<includes>
 					<include>**</include>
diff --git a/examples/smoketests/pom.xml b/examples/smoketests/pom.xml
index dcdd67a..b10f9eb 100644
--- a/examples/smoketests/pom.xml
+++ b/examples/smoketests/pom.xml
@@ -36,6 +36,10 @@
 		<resources>
 			<resource>
 				<filtering>false</filtering>
+				<directory>src/main/resources</directory>
+			</resource>
+			<resource>
+				<filtering>false</filtering>
 				<directory>src/main/java</directory>
 				<includes>
 					<include>**</include>
diff --git a/extensions/lib/excel/integtests/pom.xml b/extensions/lib/excel/integtests/pom.xml
index 1430138..d23b28f 100644
--- a/extensions/lib/excel/integtests/pom.xml
+++ b/extensions/lib/excel/integtests/pom.xml
@@ -23,6 +23,10 @@
     <build>
         <resources>
             <resource>
+                <filtering>false</filtering>
+                <directory>src/main/resources</directory>
+            </resource>
+            <resource>
                 <directory>src/main/java</directory>
                 <includes>
                     <include>**</include>
diff --git a/extensions/lib/fakedata/impl/pom.xml b/extensions/lib/fakedata/impl/pom.xml
index 42fdd76..5c76a9b 100644
--- a/extensions/lib/fakedata/impl/pom.xml
+++ b/extensions/lib/fakedata/impl/pom.xml
@@ -26,6 +26,10 @@
         <resources>
             <resource>
                 <filtering>false</filtering>
+                <directory>src/main/resources</directory>
+            </resource>
+            <resource>
+                <filtering>false</filtering>
                 <directory>src/main/java</directory>
                 <includes>
                     <include>**</include>
diff --git a/extensions/lib/fakedata/integtests/pom.xml b/extensions/lib/fakedata/integtests/pom.xml
index 56e181c..7fcb8f4 100644
--- a/extensions/lib/fakedata/integtests/pom.xml
+++ b/extensions/lib/fakedata/integtests/pom.xml
@@ -21,6 +21,10 @@
     <build>
         <resources>
             <resource>
+                <filtering>false</filtering>
+                <directory>src/main/resources</directory>
+            </resource>
+            <resource>
                 <directory>src/main/java</directory>
                 <includes>
                     <include>**</include>
diff --git a/extensions/testing/fixtures/pom.xml b/extensions/testing/fixtures/pom.xml
index bef86d0..199197e 100644
--- a/extensions/testing/fixtures/pom.xml
+++ b/extensions/testing/fixtures/pom.xml
@@ -34,6 +34,10 @@
 		<resources>
 			<resource>
 				<filtering>false</filtering>
+				<directory>src/main/resources</directory>
+			</resource>
+			<resource>
+				<filtering>false</filtering>
 				<directory>src/main/java</directory>
 				<includes>
 					<include>**</include>
diff --git a/extensions/testing/fixtures/src/main/doc/modules/fixtures/pages/fixture-scripts/api-and-usage.adoc b/extensions/testing/fixtures/src/main/doc/modules/fixtures/pages/fixture-scripts/api-and-usage.adoc
index 5aec4bf..6efda1f 100644
--- a/extensions/testing/fixtures/src/main/doc/modules/fixtures/pages/fixture-scripts/api-and-usage.adoc
+++ b/extensions/testing/fixtures/src/main/doc/modules/fixtures/pages/fixture-scripts/api-and-usage.adoc
@@ -20,7 +20,7 @@ This is annotated to be rendered on the secondary "Prototyping" menu.
 
 The behaviour of this domain menu service can be refined by providing an implementation of the optional xref:refguide:applib-svc:testing/FixtureScriptsSpecificationProvider.adoc[`FixtureScriptsSpecificationProvider`] SPI.
 
-For example, here's the `FixtureScriptsSpecificationProvider` service that's generated by the xref:simpleapp:ROOT:about.adoc[SimpleApp archetype]:
+For example, here's the `FixtureScriptsSpecificationProvider` service that's generated by the xref:starters:simpleapp:about.adoc[SimpleApp archetype]:
 
 [source,java]
 ----
@@ -71,7 +71,7 @@ If you had defined many fixture scripts then a drop-down might become unwieldy,
 
 ----
 
-You are free, of course, to add additional "convenience" actions into it if you wish for the most commonly used/demo'd setups ; you'll find that the xref:simpleapp:ROOT:about.adoc[SimpleApp archetype] adds this additional action:
+You are free, of course, to add additional "convenience" actions into it if you wish for the most commonly used/demo'd setups ; you'll find that the xref:starters:simpleapp:about.adoc[SimpleApp archetype] adds this additional action:
 
 [source,java]
 ----
@@ -100,7 +100,7 @@ However, we strongly recommend that you use it to invoke actions on business obj
 That way, the fixture script will remain valid even if the underlying implementation of the system changes in the future.
 
 For example, here's a fixture script called `RecreateSimpleObjects`.
-(This used to be part of the xref:simpleapp:ROOT:about.adoc[SimpleApp archetype], though the archetype now ships with a more sophisticated design, discussed below):
+(This used to be part of the xref:starters:simpleapp:about.adoc[SimpleApp archetype], though the archetype now ships with a more sophisticated design, discussed below):
 
 [source,java]
 ----
@@ -169,7 +169,7 @@ So, in this case, when the fixture script is executed we actually get 6 objects
 
 Fixture scripts can be called from integration tests just the same way that fixture scripts can call one another.
 
-For example, here's an integration test from the xref:simpleapp:ROOT:about.adoc[SimpleApp archetype]:
+For example, here's an integration test from the xref:starters:simpleapp:about.adoc[SimpleApp archetype]:
 
 [source,java]
 ----
@@ -251,7 +251,7 @@ public interface PersonaWithFinder<T> {
 }
 ----
 
-The xref:simpleapp:ROOT:about.adoc[SimpleApp archetype] provides a sample implementation of these interfaces:
+The xref:starters:simpleapp:about.adoc[SimpleApp archetype] provides a sample implementation of these interfaces:
 
 [source,java]
 ----
diff --git a/extensions/testing/specsupport/src/main/doc/modules/specsupport/pages/bdd-spec-support/maven-configuration.adoc b/extensions/testing/specsupport/src/main/doc/modules/specsupport/pages/bdd-spec-support/maven-configuration.adoc
index dd472d7..589a2af 100644
--- a/extensions/testing/specsupport/src/main/doc/modules/specsupport/pages/bdd-spec-support/maven-configuration.adoc
+++ b/extensions/testing/specsupport/src/main/doc/modules/specsupport/pages/bdd-spec-support/maven-configuration.adoc
@@ -6,7 +6,7 @@ include::_attributes.adoc[]
 
 
 
-Apache Isis' BDD spec support is automatically configured if you use the xref:simpleapp:ROOT:about.adoc[SimpleApp archetype].
+Apache Isis' BDD spec support is automatically configured if you use the xref:starters:simpleapp:about.adoc[SimpleApp archetype].
 To set it up manually, update the `pom.xml` of your domain object model module:
 
 [source,xml]
diff --git a/extensions/testing/specsupport/src/main/doc/modules/specsupport/pages/bdd-spec-support/writing-a-bdd-spec.adoc b/extensions/testing/specsupport/src/main/doc/modules/specsupport/pages/bdd-spec-support/writing-a-bdd-spec.adoc
index 048dedf..c62bf61 100644
--- a/extensions/testing/specsupport/src/main/doc/modules/specsupport/pages/bdd-spec-support/writing-a-bdd-spec.adoc
+++ b/extensions/testing/specsupport/src/main/doc/modules/specsupport/pages/bdd-spec-support/writing-a-bdd-spec.adoc
@@ -26,7 +26,7 @@ The `glue` attribute of the Cucumber-JVM JUnit runner allows you to indicate whi
 There also needs to be one glue class that is used to bootstrap the runtime.
 
 
-Here's an example of a feature from the xref:simpleapp:ROOT:about.adoc[SimpleApp archetype]:
+Here's an example of a feature from the xref:starters:simpleapp:about.adoc[SimpleApp archetype]:
 
 [source,java]
 ----
@@ -69,7 +69,7 @@ public class RunBddSpecs {
 ----
 
 The JSON formatter allows integration with enhanced reports.
-(Commented out) configuration for this is provided in the xref:simpleapp:ROOT:about.adoc[SimpleApp archetype].
+(Commented out) configuration for this is provided in the xref:starters:simpleapp:about.adoc[SimpleApp archetype].
 
 The bootstrapping of Apache Isis itself lives in a `BootstrappingGlue` step definition:
 
diff --git a/site.yml b/site.yml
index 4d649f8..ae2f7c7 100644
--- a/site.yml
+++ b/site.yml
@@ -104,10 +104,7 @@ content:
 
 # starters
     - url: .
-      start_path: starters/helloworld/src/main/doc # helloworld
-      branches: HEAD
-    - url: .
-      start_path: starters/simpleapp/src/main/doc # simpleapp
+      start_path: starters/src/main/doc
       branches: HEAD
 
 # extensions
@@ -168,8 +165,8 @@ content:
 
 ui:
   bundle:
-#    url: ../isis-antora/build/ui-bundle.zip
-    url: https://github.com/apache/isis-antora/blob/master/build/ui-bundle.zip?raw=true
+    url: ../isis-antora/build/ui-bundle.zip
+#    url: https://github.com/apache/isis-antora/blob/master/build/ui-bundle.zip?raw=true
     snapshot: true
   supplemental_files: antora/supplemental-ui
 
diff --git a/starters/helloworld/.gitattributes b/starters/helloworld/.gitattributes
deleted file mode 100644
index b1eafb6..0000000
--- a/starters/helloworld/.gitattributes
+++ /dev/null
@@ -1,51 +0,0 @@
-#
-#
-# text files are normalized (convert crlf => lf)
-# binary files are not normalized (binary is a macro for -text -diff)
-#
-#
-
-
-# Unless otherwise stated, assume text
-
-* text=auto
-
-
-*.java text diff=java
-*.html text diff=html
-*.xhtml text diff=html
-*.xml text
-*.txt text
-
-
-*.jar binary
-*.so binary
-*.dll binary
-
-# images
-*.jpg binary
-*.jpeg binary
-*.png binary
-*.pdn binary
-*.pdn binary
-
-
-*.cs     text diff=csharp
-
-*.sln    merge=union
-*.csproj merge=union
-*.vbproj merge=union
-*.fsproj merge=union
-*.dbproj merge=union
-
-*.doc	 diff=astextplain
-*.DOC	 diff=astextplain
-*.docx diff=astextplain
-*.DOCX diff=astextplain
-*.dot  diff=astextplain
-*.DOT  diff=astextplain
-*.pdf  diff=astextplain
-*.PDF	 diff=astextplain
-*.rtf	 diff=astextplain
-*.RTF	 diff=astextplain
-
diff --git a/starters/helloworld/.gitignore b/starters/helloworld/.gitignore
deleted file mode 100644
index 2b5e580..0000000
--- a/starters/helloworld/.gitignore
+++ /dev/null
@@ -1,43 +0,0 @@
-*~
-*.swp
-*.class
-bin/
-target/
-target-ide/
-logs/
-.settings/
-.project
-.classpath
-.idea
-*.iml
-
-build/
-
-JArchitectOut/
-*.jdproj
-
-neo4j_DB/
-
-# log files
-datanucleus.log
-isis.log
-i18n-po.log
-hs_err_pid*.log
-
-# Package Files #
-*.war
-*.ear
-
-dependency-reduced-pom.xml
-pom.xml.tag
-pom.xml.next
-pom.xml.releaseBackup
-pom.xml.versionsBackup
-
-.clover/
-
-
-rebel.xml
-translations.pot
-/.factorypath
-/.apt_generated_tests/
diff --git a/starters/helloworld/.m2/settings.xml b/starters/helloworld/.m2/settings.xml
deleted file mode 100644
index 755b1ad..0000000
--- a/starters/helloworld/.m2/settings.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
-          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
-  <servers>
-    <server>
-      <id>tomcat-server</id>
-      <username>admin</username>
-      <password>password</password>
-    </server>
-  </servers>
-</settings>
diff --git a/starters/helloworld/README.adoc b/starters/helloworld/README.adoc
deleted file mode 100644
index 156b71a..0000000
--- a/starters/helloworld/README.adoc
+++ /dev/null
@@ -1,30 +0,0 @@
-# HelloWorld
-
-This application was generated by the link:http://isis.apache.org[Apache Isis] link:http://isis.apache.org/arch/helloworld/about.html[helloworld archetype].
-It is intended as a starting point to learn what Apache Isis is all about.
-
-
-== Quick start
-
-Build using:
-
-[source,bash]
-----
-mvn clean install
-----
-
-Run using:
-
-[source,bash]
-----
-mvn jetty:run
-----
-
-Login using: 
-
-* username: `sven`
-* password: `pass`
-
-The app runs with HSQLDB running in-memory.
-
-
diff --git a/starters/helloworld/enhance-all.sh b/starters/helloworld/enhance-all.sh
deleted file mode 100644
index 2da7b0f..0000000
--- a/starters/helloworld/enhance-all.sh
+++ /dev/null
@@ -1,2 +0,0 @@
-#!/usr/bin/env bash
-mvn datanucleus:enhance -o
\ No newline at end of file
diff --git a/starters/helloworld/logging-dn-enhance.properties b/starters/helloworld/logging-dn-enhance.properties
deleted file mode 100644
index ca165ac..0000000
--- a/starters/helloworld/logging-dn-enhance.properties
+++ /dev/null
@@ -1,41 +0,0 @@
-#  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.
-
-# LOG4J Configuration
-# ===================
-
-# Basic logging goes to "datanucleus.log"
-log4j.appender.A1=org.apache.log4j.FileAppender
-log4j.appender.A1.File=datanucleus.log
-log4j.appender.A1.layout=org.apache.log4j.PatternLayout
-log4j.appender.A1.layout.ConversionPattern=%d{HH:mm:ss,SSS} (%t) %-5p [%c] - %m%n
-#log4j.appender.A1.Threshold=INFO
-
-# Categories
-# Each category can be set to a "level", and to direct to an appender
-
-# Default to DEBUG level for all DataNucleus categories
-log4j.logger.DataNucleus = DEBUG, A1
-
-log4j.category.com.mchange.v2.c3p0=INFO, A1
-log4j.category.com.mchange.v2.resourcepool=INFO, A1
-log4j.category.org.logicalcobwebs.proxool=INFO,A1
-
-
-# Hbase libs logging
-log4j.category.org.apache.hadoop=INFO,A1
-log4j.category.org.apache.zookeeper=INFO,A1
\ No newline at end of file
diff --git a/starters/helloworld/pom.xml b/starters/helloworld/pom.xml
deleted file mode 100644
index 340ea1e..0000000
--- a/starters/helloworld/pom.xml
+++ /dev/null
@@ -1,170 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 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. -->
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-	<modelVersion>4.0.0</modelVersion>
-
-	<parent>
-		<groupId>org.apache.isis.app</groupId>
-		<artifactId>isis-app-starter-parent</artifactId>
-		<version>2.0.0-M3-SNAPSHOT</version>
-	</parent>
-
-	<groupId>org.apache.isis.examples.apps</groupId>
-	<artifactId>helloworld</artifactId>
-
-	<name>Apache Isis App - HelloWorld</name>
-
-	<packaging>${packaging.type}</packaging>
-
-	<properties>
-		<maven-war-plugin.warName>${project.artifactId}</maven-war-plugin.warName>
-	</properties>
-
-	<build>
-		<resources>
-			<resource>
-				<filtering>false</filtering>
-				<directory>src/main/java</directory>
-				<includes>
-					<include>**</include>
-				</includes>
-				<excludes>
-					<exclude>**/*.java</exclude>
-				</excludes>
-			</resource>
-		</resources>
-	</build>
-
-	<dependencies>
-
-		<dependency>
-			<groupId>org.apache.isis.mavendeps</groupId>
-			<artifactId>isis-mavendeps-webapp</artifactId>
-			<type>pom</type>
-		</dependency>
-		
-		<dependency>
-			<groupId>org.apache.isis.mavendeps</groupId>
-			<artifactId>isis-mavendeps-jdk11</artifactId>
-			<type>pom</type>
-		</dependency>
-
-		<dependency>
-			<groupId>com.h2database</groupId>
-			<artifactId>h2</artifactId>
-		</dependency>
-
-
-		<!-- TEST DEPENDENCIES -->
-		<dependency>
-			<groupId>org.apache.isis.mavendeps</groupId>
-			<artifactId>isis-mavendeps-testing</artifactId>
-			<scope>test</scope>
-			<type>pom</type>
-		</dependency>
-
-	</dependencies>
-
-	<profiles>
-
-		<profile>
-			<id>actuator</id>
-			<activation>
-				<property>
-					<name>!skip.actuator</name>
-				</property>
-			</activation>
-			<dependencies>
-				<dependency>
-					<groupId>org.springframework.boot</groupId>
-					<artifactId>spring-boot-actuator-autoconfigure</artifactId>
-				</dependency>
-			</dependencies>
-		</profile>
-
-		<!-- running: mvn spring-boot:run -->
-		<profile>
-			<id>package-as-jar</id>
-			<activation>
-				<property>
-					<name>!package-as-war</name>
-				</property>
-			</activation>
-			<properties>
-				<packaging.type>jar</packaging.type>
-			</properties>
-
-			<build>
-				<plugins>
-					<plugin>
-						<groupId>org.springframework.boot</groupId>
-						<artifactId>spring-boot-maven-plugin</artifactId>
-					</plugin>
-				</plugins>
-			</build>
-		</profile>
-
-		<profile>
-			<id>docker</id>
-			<activation>
-				<property>
-					<name>docker</name>
-				</property>
-			</activation>
-			<properties>
-				<packaging.type>jar</packaging.type>
-				<package-as-war>false</package-as-war>
-			</properties>
-			<build>
-				<plugins>
-					<plugin>
-						<groupId>com.google.cloud.tools</groupId>
-						<artifactId>jib-maven-plugin</artifactId>
-						<configuration>
-							<from>
-								<image>openjdk:13-alpine</image>
-							</from>
-							<container>
-								<jvmFlags>
-									<jvmFlag>-Xmx512m</jvmFlag>
-								</jvmFlags>
-								<mainClass>domainapp.application.HelloWorldApp</mainClass>
-								<ports>
-									<port>8080</port>
-								</ports>
-							</container>
-							<to>
-								<image>docker.io/apacheisis/helloworld:latest</image>
-								<auth>
-									<username>${env.DOCKER_REGISTRY_USERNAME}</username>
-									<password>${env.DOCKER_REGISTRY_PASSWORD}</password>
-								</auth>
-							</to>
-						</configuration>
-						<executions>
-							<execution>
-								<phase>package</phase>
-								<goals>
-									<goal>build</goal>
-								</goals>
-							</execution>
-						</executions>
-					</plugin>
-				</plugins>
-			</build>
-		</profile>
-
-	</profiles>
-
-</project>
diff --git a/starters/helloworld/src/main/doc/antora.yml b/starters/helloworld/src/main/doc/antora.yml
deleted file mode 100644
index 456e1ff..0000000
--- a/starters/helloworld/src/main/doc/antora.yml
+++ /dev/null
@@ -1,6 +0,0 @@
-name: helloworld
-title: "Starter App - Hello World"
-version: master
-start_page: ROOT:about.adoc
-nav:
-- modules/ROOT/nav.adoc
diff --git a/starters/helloworld/src/main/java/META-INF/persistence.xml b/starters/helloworld/src/main/java/META-INF/persistence.xml
deleted file mode 100644
index 6dcbe51..0000000
--- a/starters/helloworld/src/main/java/META-INF/persistence.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!--
-  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.
--->
-<persistence xmlns="http://java.sun.com/xml/ns/persistence"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd" version="1.0">
-
-    <persistence-unit name="helloworld"/>
-
-</persistence>
diff --git a/starters/helloworld/src/main/java/domainapp/application/HelloWorldApp.java b/starters/helloworld/src/main/java/domainapp/application/HelloWorldApp.java
deleted file mode 100644
index 5b0d1fe..0000000
--- a/starters/helloworld/src/main/java/domainapp/application/HelloWorldApp.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- *  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.
- */
-package domainapp.application;
-
-import domainapp.dom.HelloWorldModule;
-
-import org.apache.isis.config.IsisPresets;
-import org.apache.isis.jdo.IsisBootDataNucleus;
-import org.apache.isis.runtime.spring.IsisBoot;
-import org.apache.isis.security.shiro.IsisBootSecurityShiro;
-import org.apache.isis.viewer.restfulobjects.IsisBootViewerRestfulObjects;
-import org.apache.isis.viewer.wicket.viewer.IsisBootViewerWicket;
-import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.boot.web.servlet.ServletComponentScan;
-import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
-import org.springframework.context.annotation.*;
-
-@SpringBootApplication
-@Import({
-    HelloWorldApp.AppManifest.class,
-})
-public class HelloWorldApp extends SpringBootServletInitializer {
-
-    @Configuration
-    @PropertySources({
-            @PropertySource(IsisPresets.NoTranslations),
-            @PropertySource(IsisPresets.DataNucleusAutoCreate),
-    })
-    @Import({
-            IsisBoot.class,
-            IsisBootSecurityShiro.class,
-            IsisBootDataNucleus.class,
-            IsisBootViewerRestfulObjects.class,
-            IsisBootViewerWicket.class,
-            HelloWorldModule.class
-    })
-    public static class AppManifest {
-    }
-
-    /**
-     * @implNote this is to support the <em>Spring Boot Maven Plugin</em>, which auto-detects an
-     * entry point by searching for classes having a {@code main(...)}
-     */
-    public static void main(String[] args) {
-        SpringApplication.run(new Class[] { HelloWorldApp.class }, args);
-    }
-
-}
diff --git a/starters/helloworld/src/main/java/domainapp/application/menubars.layout.xml b/starters/helloworld/src/main/java/domainapp/application/menubars.layout.xml
deleted file mode 100644
index 53a140d..0000000
--- a/starters/helloworld/src/main/java/domainapp/application/menubars.layout.xml
+++ /dev/null
@@ -1,115 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<!--
-  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.
--->
-<mb3:menuBars xsi:schemaLocation="http://isis.apache.org/applib/layout/menubars/bootstrap3 http://isis.apache.org/applib/layout/menubars/bootstrap3/menubars.xsd http://isis.apache.org/applib/layout/component http://isis.apache.org/applib/layout/component/component.xsd http://isis.apache.org/applib/layout/links http://isis.apache.org/applib/layout/links/links.xsd" xmlns:cpt="http://isis.apache.org/applib/layout/component" xmlns:lnk="http://isis.apache.org/applib/layout/links" xmlns:mb3="h [...]
-    <mb3:primary>
-        <mb3:menu>
-            <mb3:named>Hello World Objects</mb3:named>
-            <mb3:section>
-                <mb3:serviceAction objectType="helloworld.HelloWorldObjects" id="create">
-                    <cpt:named>Create</cpt:named>
-                </mb3:serviceAction>
-                <mb3:serviceAction objectType="helloworld.HelloWorldObjects" id="findByName">
-                    <cpt:named>Find By Name</cpt:named>
-                </mb3:serviceAction>
-                <mb3:serviceAction objectType="helloworld.HelloWorldObjects" id="listAll">
-                    <cpt:named>List All</cpt:named>
-                </mb3:serviceAction>
-            </mb3:section>
-        </mb3:menu>
-        <mb3:menu unreferencedActions="true">
-            <mb3:named>Other</mb3:named>
-        </mb3:menu>
-    </mb3:primary>
-    <mb3:secondary>
-        <mb3:menu>
-            <mb3:named>Prototyping</mb3:named>
-            <mb3:section>
-                <mb3:serviceAction objectType="isisApplib.FixtureScriptsDefault" id="runFixtureScript">
-                    <cpt:named>Run Fixture Script</cpt:named>
-                </mb3:serviceAction>
-                <mb3:serviceAction objectType="isisApplib.FixtureScriptsDefault" id="runFixtureScriptWithAutoComplete">
-                    <cpt:named>Run Fixture Script</cpt:named>
-                </mb3:serviceAction>
-                <mb3:serviceAction objectType="isisApplib.FixtureScriptsDefault" id="recreateObjectsAndReturnFirst">
-                    <cpt:named>Recreate Objects And Return First</cpt:named>
-                </mb3:serviceAction>
-            </mb3:section>
-            <mb3:section>
-                <mb3:serviceAction objectType="isisApplib.LayoutServiceMenu" id="downloadLayouts">
-                    <cpt:named>Download Object Layouts (ZIP)</cpt:named>
-                </mb3:serviceAction>
-                <mb3:serviceAction objectType="isisApplib.LayoutServiceMenu" id="downloadMenuBarsLayout">
-                    <cpt:named>Download Menu Bars Layout (XML)</cpt:named>
-                </mb3:serviceAction>
-            </mb3:section>
-            <mb3:section>
-                <mb3:serviceAction objectType="isisApplib.MetaModelServicesMenu" id="downloadMetaModelXml">
-                    <cpt:named>Download Meta Model (XML)</cpt:named>
-                </mb3:serviceAction>
-                <mb3:serviceAction objectType="isisApplib.MetaModelServicesMenu" id="downloadMetaModelCsv">
-                    <cpt:named>Download Meta Model (CSV)</cpt:named>
-                </mb3:serviceAction>
-            </mb3:section>
-            <mb3:section>
-                <mb3:serviceAction objectType="isisApplib.SwaggerServiceMenu" id="openSwaggerUi">
-                    <cpt:named>Open Swagger Ui</cpt:named>
-                </mb3:serviceAction>
-                <mb3:serviceAction objectType="isisApplib.SwaggerServiceMenu" id="openRestApi">
-                    <cpt:named>Open Rest Api</cpt:named>
-                </mb3:serviceAction>
-                <mb3:serviceAction objectType="isisApplib.SwaggerServiceMenu" id="downloadSwaggerSchemaDefinition">
-                    <cpt:named>Download Swagger Schema Definition</cpt:named>
-                </mb3:serviceAction>
-            </mb3:section>
-            <mb3:section>
-                <mb3:serviceAction objectType="isisApplib.TranslationServicePoMenu" id="downloadTranslations">
-                    <cpt:named>Download Translations</cpt:named>
-                </mb3:serviceAction>
-                <mb3:serviceAction objectType="isisApplib.TranslationServicePoMenu" id="resetTranslationCache">
-                    <cpt:named>Clear translation cache</cpt:named>
-                </mb3:serviceAction>
-                <mb3:serviceAction objectType="isisApplib.TranslationServicePoMenu" id="switchToReadingTranslations">
-                    <cpt:named>Switch To Reading Translations</cpt:named>
-                </mb3:serviceAction>
-                <mb3:serviceAction objectType="isisApplib.TranslationServicePoMenu" id="switchToWritingTranslations">
-                    <cpt:named>Switch To Writing Translations</cpt:named>
-                </mb3:serviceAction>
-            </mb3:section>
-            <mb3:section>
-                <mb3:serviceAction objectType="isisApplib.HsqlDbManagerMenu" id="hsqlDbManager">
-                    <cpt:named>HSQL DB Manager</cpt:named>
-                </mb3:serviceAction>
-                <mb3:serviceAction objectType="isisApplib.H2ManagerMenu" id="openH2Console">
-                    <cpt:named>H2 Console</cpt:named>
-                </mb3:serviceAction>
-            </mb3:section>
-        </mb3:menu>
-    </mb3:secondary>
-    <mb3:tertiary>
-        <mb3:menu>
-            <mb3:named>Configuration Service Menu</mb3:named>
-            <mb3:section>
-                <mb3:serviceAction objectType="isisApplib.ConfigurationMenu" id="configuration">
-                    <cpt:named>Configuration</cpt:named>
-                </mb3:serviceAction>
-            </mb3:section>
-        </mb3:menu>
-    </mb3:tertiary>
-</mb3:menuBars>
diff --git a/starters/helloworld/src/main/java/domainapp/dom/HelloWorldModule.java b/starters/helloworld/src/main/java/domainapp/dom/HelloWorldModule.java
deleted file mode 100644
index 1443506..0000000
--- a/starters/helloworld/src/main/java/domainapp/dom/HelloWorldModule.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- *  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.
- */
-package domainapp.dom;
-
-import org.springframework.context.annotation.ComponentScan;
-import org.springframework.context.annotation.Configuration;
-
-@Configuration
-@ComponentScan
-public class HelloWorldModule {
-
-}
diff --git a/starters/helloworld/src/main/java/domainapp/dom/impl/HelloWorldObject.java b/starters/helloworld/src/main/java/domainapp/dom/impl/HelloWorldObject.java
deleted file mode 100644
index 786041d..0000000
--- a/starters/helloworld/src/main/java/domainapp/dom/impl/HelloWorldObject.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*
- *  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.
- */
-package domainapp.dom.impl;
-
-import java.util.Comparator;
-
-import javax.inject.Inject;
-import javax.jdo.annotations.IdGeneratorStrategy;
-import javax.jdo.annotations.IdentityType;
-import javax.jdo.annotations.VersionStrategy;
-
-import org.apache.isis.applib.annotation.Action;
-import org.apache.isis.applib.annotation.ActionLayout;
-import org.apache.isis.applib.annotation.Auditing;
-import org.apache.isis.applib.annotation.CommandReification;
-import org.apache.isis.applib.annotation.DomainObject;
-import org.apache.isis.applib.annotation.DomainObjectLayout;
-import org.apache.isis.applib.annotation.MemberOrder;
-import org.apache.isis.applib.annotation.Publishing;
-import org.apache.isis.applib.annotation.SemanticsOf;
-import org.apache.isis.applib.services.message.MessageService;
-import org.apache.isis.applib.services.repository.RepositoryService;
-import org.apache.isis.applib.services.title.TitleService;
-
-import domainapp.dom.types.Name;
-import domainapp.dom.types.Notes;
-
-@javax.jdo.annotations.PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "helloworld" )
-@javax.jdo.annotations.DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
-@javax.jdo.annotations.Version(strategy= VersionStrategy.DATE_TIME, column ="version")
-@javax.jdo.annotations.Unique(name="HelloWorldObject_name_UNQ", members = {"name"})
-@DomainObject(auditing = Auditing.ENABLED)
-@DomainObjectLayout()  // causes UI events to be triggered
-public class HelloWorldObject implements Comparable<HelloWorldObject> {
-
-    private HelloWorldObject(){}
-
-    public HelloWorldObject(final String name) {
-        this.name = name;
-    }
-
-    public String title() {
-        return "Object: " + getName();
-    }
-
-    @Name
-    @MemberOrder(name = "identity", sequence = "1")
-    private String name;
-    public String getName() {
-        return name;
-    }
-    public void setName(String name) {
-        this.name = name;
-    }
-
-    @Notes
-    @MemberOrder(name = "details", sequence = "1")
-    private String notes;
-    public String getNotes() {
-        return notes;
-    }
-    public void setNotes(String notes) {
-        this.notes = notes;
-    }
-
-    @Action(
-            semantics = SemanticsOf.IDEMPOTENT,
-            command = CommandReification.ENABLED, publishing = Publishing.ENABLED,
-            associateWith = "name"
-    )
-    public HelloWorldObject updateName(
-            @Name final String name) {
-        setName(name);
-        return this;
-    }
-    public String default0UpdateName() {
-        return getName();
-    }
-
-
-    @Action(semantics = SemanticsOf.NON_IDEMPOTENT_ARE_YOU_SURE, associateWith = "name")
-    @ActionLayout(position = ActionLayout.Position.PANEL)
-    public void delete() {
-        final String title = titleService.titleOf(this);
-        messageService.informUser(String.format("'%s' deleted", title));
-        repositoryService.removeAndFlush(this);
-    }
-
-    @Override
-    public String toString() {
-        return getName();
-    }
-
-    @Override
-    public int compareTo(final HelloWorldObject other) {
-        return Comparator.comparing(HelloWorldObject::getName).compare(this, other);
-    }
-
-
-    @Inject RepositoryService repositoryService;
-    @Inject TitleService titleService;
-    @Inject MessageService messageService;
-
-}
\ No newline at end of file
diff --git a/starters/helloworld/src/main/java/domainapp/dom/impl/HelloWorldObject.layout.xml b/starters/helloworld/src/main/java/domainapp/dom/impl/HelloWorldObject.layout.xml
deleted file mode 100644
index 648ca86..0000000
--- a/starters/helloworld/src/main/java/domainapp/dom/impl/HelloWorldObject.layout.xml
+++ /dev/null
@@ -1,76 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<!--
-  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.
--->
-<bs3:grid xsi:schemaLocation="http://isis.apache.org/applib/layout/component http://isis.apache.org/applib/layout/component/component.xsd http://isis.apache.org/applib/layout/grid/bootstrap3 http://isis.apache.org/applib/layout/grid/bootstrap3/bootstrap3.xsd" xmlns:c="http://isis.apache.org/applib/layout/component" xmlns:bs3="http://isis.apache.org/applib/layout/grid/bootstrap3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-
-    <bs3:row>
-        <bs3:col span="12" unreferencedActions="true">
-            <c:domainObject bookmarking="AS_ROOT"/>
-        </bs3:col>
-    </bs3:row>
-    <bs3:row>
-        <bs3:col span="6">
-            <bs3:row>
-                <bs3:col span="12">
-                    <bs3:tabGroup>
-                        <bs3:tab name="Identity">
-                            <bs3:row>
-                                <bs3:col span="12">
-                                    <c:fieldSet name="Identity" id="identity">
-                                        <c:action id="delete">
-                                            <c:describedAs>Deletes this object from the persistent datastore</c:describedAs>
-                                        </c:action>
-                                        <c:property id="name" namedEscaped="true">
-                                            <c:action id="updateName">
-                                                <c:describedAs>Updates the object's name</c:describedAs>
-                                            </c:action>
-                                        </c:property>
-                                    </c:fieldSet>
-                                </bs3:col>
-                            </bs3:row>
-                        </bs3:tab>
-                        <bs3:tab name="Other">
-                            <bs3:row>
-                                <bs3:col span="12">
-                                    <c:fieldSet name="Other" id="other" unreferencedProperties="true"/>
-                                </bs3:col>
-                            </bs3:row>
-                        </bs3:tab>
-                        <bs3:tab name="Metadata">
-                            <bs3:row>
-                                <bs3:col span="12">
-                                    <c:fieldSet name="Metadata" id="metadata"/>
-                                </bs3:col>
-                            </bs3:row>
-                        </bs3:tab>
-                    </bs3:tabGroup>
-                </bs3:col>
-                <bs3:col span="12">
-                    <c:fieldSet name="" id="details">
-                        <c:property id="notes" namedEscaped="true" multiLine="10" hidden="ALL_TABLES"/>
-                    </c:fieldSet>
-                </bs3:col>
-            </bs3:row>
-        </bs3:col>
-        <bs3:col span="6">
-            <bs3:tabGroup  unreferencedCollections="true">
-            </bs3:tabGroup>
-        </bs3:col>
-    </bs3:row>
-</bs3:grid>
diff --git a/starters/helloworld/src/main/java/domainapp/dom/impl/HelloWorldObject.png b/starters/helloworld/src/main/java/domainapp/dom/impl/HelloWorldObject.png
deleted file mode 100644
index 0bd6f57..0000000
Binary files a/starters/helloworld/src/main/java/domainapp/dom/impl/HelloWorldObject.png and /dev/null differ
diff --git a/starters/helloworld/src/main/java/domainapp/dom/impl/HelloWorldObjects.java b/starters/helloworld/src/main/java/domainapp/dom/impl/HelloWorldObjects.java
deleted file mode 100644
index 86276b5..0000000
--- a/starters/helloworld/src/main/java/domainapp/dom/impl/HelloWorldObjects.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- *  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.
- */
-package domainapp.dom.impl;
-
-import java.util.List;
-
-import javax.inject.Inject;
-import javax.jdo.JDOQLTypedQuery;
-
-import org.apache.isis.applib.annotation.Action;
-import org.apache.isis.applib.annotation.ActionLayout;
-import org.apache.isis.applib.annotation.DomainService;
-import org.apache.isis.applib.annotation.NatureOfService;
-import org.apache.isis.applib.annotation.PromptStyle;
-import org.apache.isis.applib.annotation.RestrictTo;
-import org.apache.isis.applib.annotation.SemanticsOf;
-import org.apache.isis.applib.services.repository.RepositoryService;
-import org.apache.isis.jdo.jdosupport.IsisJdoSupport_v3_2;
-
-import domainapp.dom.types.Name;
-
-@DomainService(
-        nature = NatureOfService.VIEW,
-        objectType = "helloworld.HelloWorldObjects"
-        )
-public class HelloWorldObjects {
-
-    @Action(semantics = SemanticsOf.NON_IDEMPOTENT)
-    @ActionLayout(promptStyle = PromptStyle.DIALOG_MODAL)
-    public HelloWorldObject create(
-            @Name final String name) {
-        return repositoryService.persist(new HelloWorldObject(name));
-    }
-    public String default0Create() {
-        return "Hello World!";
-    }
-
-
-    @Action(semantics = SemanticsOf.SAFE)
-    @ActionLayout(promptStyle = PromptStyle.DIALOG_SIDEBAR)
-    public List<HelloWorldObject> findByName(
-            @Name final String name) {
-        JDOQLTypedQuery<HelloWorldObject> q = isisJdoSupport.newTypesafeQuery(HelloWorldObject.class);
-        final QHelloWorldObject cand = QHelloWorldObject.candidate();
-        q = q.filter(
-                cand.name.indexOf(q.stringParameter("name")).ne(-1)
-                );
-        return q.setParameter("name", name)
-                .executeList();
-    }
-
-    @Action(semantics = SemanticsOf.SAFE, restrictTo = RestrictTo.PROTOTYPING)
-    public List<HelloWorldObject> listAll() {
-        return repositoryService.allInstances(HelloWorldObject.class);
-    }
-
-    @Inject RepositoryService repositoryService;
-    @Inject IsisJdoSupport_v3_2 isisJdoSupport;
-
-}
diff --git a/starters/helloworld/src/main/java/domainapp/dom/types/Name.java b/starters/helloworld/src/main/java/domainapp/dom/types/Name.java
deleted file mode 100644
index 99713c9..0000000
--- a/starters/helloworld/src/main/java/domainapp/dom/types/Name.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- *  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.
- */
-package domainapp.dom.types;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-import javax.jdo.annotations.Column;
-
-import org.apache.isis.applib.annotation.Editing;
-import org.apache.isis.applib.annotation.Parameter;
-import org.apache.isis.applib.annotation.ParameterLayout;
-import org.apache.isis.applib.annotation.Property;
-
-@Column(length = Name.MAX_LEN, allowsNull = "false")
-@Property(editing = Editing.DISABLED, maxLength = Name.MAX_LEN)
-@Parameter(maxLength = Name.MAX_LEN)
-@ParameterLayout(named = "Name")
-@Target({ ElementType.METHOD, ElementType.FIELD, ElementType.PARAMETER, ElementType.ANNOTATION_TYPE })
-@Retention(RetentionPolicy.RUNTIME)
-public @interface Name {
-
-    int MAX_LEN = 40;
-}
diff --git a/starters/helloworld/src/main/java/domainapp/dom/types/Notes.java b/starters/helloworld/src/main/java/domainapp/dom/types/Notes.java
deleted file mode 100644
index f1b05e5..0000000
--- a/starters/helloworld/src/main/java/domainapp/dom/types/Notes.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- *  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.
- */
-package domainapp.dom.types;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-import javax.jdo.annotations.Column;
-
-import org.apache.isis.applib.annotation.Editing;
-import org.apache.isis.applib.annotation.Parameter;
-import org.apache.isis.applib.annotation.ParameterLayout;
-import org.apache.isis.applib.annotation.Property;
-import org.apache.isis.applib.annotation.PropertyLayout;
-
-@Column(length = Notes.MAX_LEN, allowsNull = "true")
-@Property(editing = Editing.ENABLED, maxLength = Notes.MAX_LEN)
-@PropertyLayout(multiLine = 5)
-@Parameter(maxLength = Notes.MAX_LEN)
-@ParameterLayout(multiLine = 5)
-@Target({ ElementType.METHOD, ElementType.FIELD, ElementType.PARAMETER, ElementType.ANNOTATION_TYPE })
-@Retention(RetentionPolicy.RUNTIME)
-public @interface Notes {
-
-    int MAX_LEN = 4000;
-
-}
diff --git a/starters/helloworld/src/main/resources/application.yml b/starters/helloworld/src/main/resources/application.yml
deleted file mode 100644
index de91a4d..0000000
--- a/starters/helloworld/src/main/resources/application.yml
+++ /dev/null
@@ -1,80 +0,0 @@
-#
-# Recommend use for static configuration that does not change between environments.
-#
-# See also config/application.properties
-#
-isis:
-  reflector:
-    explicit-annotations:
-      action: true
-    validator:
-      allowDeprecated: false
-      noParamsOnly: true
-      explicitObjectType: true
-      serviceActionsOnly: true
-
-      mixinsOnly: true
-
-    facet:
-      cssClassFa:
-        patterns:
-          new.*:fa-plus,\
-          add.*:fa-plus-square,\
-          create.*:fa-plus,\
-          update.*:fa-edit,\
-          delete.*:fa-trash,\
-          find.*:fa-search,\
-          list.*:fa-list
-
-      cssClass:
-        patterns:
-          delete.*:btn-danger
-
-  objects:
-    editing: false
-
-  viewer:
-    wicket:
-      application:
-        menubarsLayoutXml: domainapp/application/menubars.layout.xml
-        brandLogoHeader: /images/apache-isis/logo-48x48.png
-        faviconUrl: /images/favicon.png
-        name: Hello World App
-        css: css/application.css
-        js: scripts/application.js
-        about: Hello World
-      welcome:
-        file: welcome.html #not implemented, currently only welcome.text is implemented
-
-      credit[0]:
-        image: /images/apache-isis/logo-48x48.png
-        name: Apache Isis
-        url: http://isis.apache.org
-
-      themes:
-        initial: Flatly
-        showChooser: true
-        enabled: Cosmo,Flatly,Darkly,Sandstone,United
-
-      maxTitleLengthInStandaloneTables: 0
-      maxTitleLengthInParentedTables: 0
-
-  persistor:
-    datanucleus:
-      impl:
-        datanucleus:
-          schema:
-            validateTables: true
-            validateConstraints: true
-
-          persistenceByReachabilityAtCommit: false
-          identifier:
-            case: MixedCase
-
-          cache:
-            level2:
-              type: none
-              mode: ENABLE_SELECTIVE
-spring:
-  banner:
-    location: banner.txt
diff --git a/starters/helloworld/src/main/resources/banner.txt b/starters/helloworld/src/main/resources/banner.txt
deleted file mode 100644
index 3f593d9..0000000
--- a/starters/helloworld/src/main/resources/banner.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-  ,---.                           ,--.                ,--.         ,--.
- /  O  \   ,---.   ,--,--.  ,---. |  ,---.   ,---.    |  |  ,---.  `--'  ,---.
-|  .-.  | | .-. | ' ,-.  | | .--' |  .-.  | | .-. :   |  | (  .-'  ,--. (  .-'
-|  | |  | | '-' ' \ '-'  | \ `--. |  | |  | \   --.   |  | .-'  `) |  | .-'  `)
-`--' `--' |  |-'   `--`--'  `---' `--' `--'  `----'   `--' `----'  `--' `----'
-          `--'
diff --git a/starters/helloworld/src/main/resources/config/application.properties b/starters/helloworld/src/main/resources/config/application.properties
deleted file mode 100644
index cb0aeef..0000000
--- a/starters/helloworld/src/main/resources/config/application.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-#
-# Recommend use for configuration that changes between environments.
-#
-# To override externally, see Spring Boot docs
-# https://docs.spring.io/spring-boot/docs/current/reference/html/spring-boot-features.html#boot-features-external-config
-#
-# See also /application.yml
-#
-isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionURL = jdbc:h2:mem:test
-isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionDriverName = org.h2.Driver
-isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionUserName = sa
-isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionPassword =
diff --git a/starters/helloworld/src/main/resources/log4j2-spring.xml b/starters/helloworld/src/main/resources/log4j2-spring.xml
deleted file mode 100644
index 08a5edb..0000000
--- a/starters/helloworld/src/main/resources/log4j2-spring.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Configuration status="WARN">
-	<Properties>
-		<Property name="PID">????</Property>
-		<Property name="LOG_EXCEPTION_CONVERSION_WORD">%xwEx</Property>
-		<Property name="LOG_LEVEL_PATTERN">%5p</Property>
-		<Property name="LOG_DATEFORMAT_PATTERN">yyyy-MM-dd HH:mm:ss.SSS</Property>
-		<Property name="CONSOLE_LOG_PATTERN">%clr{%d{${LOG_DATEFORMAT_PATTERN}}}{faint} %clr{${LOG_LEVEL_PATTERN}} %clr{${sys:PID}}{magenta} %clr{---}{faint} %clr{[%15.15t]}{faint} %clr{%-40.40c{1.}}{cyan} %clr{:}{faint} %m%n${sys:LOG_EXCEPTION_CONVERSION_WORD}</Property>
-		<Property name="FILE_LOG_PATTERN">%d{${LOG_DATEFORMAT_PATTERN}} ${LOG_LEVEL_PATTERN} ${sys:PID} --- [%t] %-40.40c{1.} : %m%n${sys:LOG_EXCEPTION_CONVERSION_WORD}</Property>
-	</Properties>
-	<Appenders>
-		<Console name="Console" target="SYSTEM_OUT" follow="true">
-			<PatternLayout pattern="${sys:CONSOLE_LOG_PATTERN}" />
-		</Console>
-	</Appenders>
-	<Loggers>
-	
-		<!-- silence Wicket -->
-		<Logger name="org.apache.wicket.page.PartialPageUpdate" level="error" />
-	
-		<Logger name="org.apache.catalina.startup.DigesterFactory" level="error" />
-		<Logger name="org.apache.catalina.util.LifecycleBase" level="error" />
-		<Logger name="org.apache.coyote.http11.Http11NioProtocol" level="warn" />
-		<logger name="org.apache.sshd.common.util.SecurityUtils" level="warn"/>
-		<Logger name="org.apache.tomcat.util.net.NioSelectorPool" level="warn" />
-		<Logger name="org.eclipse.jetty.util.component.AbstractLifeCycle" level="error" />
-		<Logger name="org.hibernate.validator.internal.util.Version" level="warn" />
-		<logger name="org.springframework.boot.actuate.endpoint.jmx" level="warn"/>
-		
-		<logger name="org.apache.directory" level="warn"/>
-		<logger name="org.apache.directory.api.ldap.model.entry.Value" level="off"/>
-		
-		<logger name="DataNucleus.Persistence" level="info"/>
-		<logger name="DataNucleus.Transaction" level="info"/>
-		<logger name="DataNucleus.Datastore.Schema" level="info"/>
-		<logger name="DataNucleus.Datastore.Native" level="info"/>
-		
-		<Root level="info">
-			<AppenderRef ref="Console" />
-		</Root>
-	</Loggers>
-</Configuration>
diff --git a/starters/helloworld/src/main/resources/shiro.ini b/starters/helloworld/src/main/resources/shiro.ini
deleted file mode 100644
index bc52895..0000000
--- a/starters/helloworld/src/main/resources/shiro.ini
+++ /dev/null
@@ -1,58 +0,0 @@
-#
-# 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.
-#
-
-[main]
-
-
-# to use .ini file
-securityManager.realms = $iniRealm
-
-
-# -----------------------------------------------------------------------------
-# Users and their assigned roles
-#
-# Each line conforms to the format defined in the
-# org.apache.shiro.realm.text.TextConfigurationRealm#setUserDefinitions JavaDoc
-# -----------------------------------------------------------------------------
-
-[users]
-# user = password, role1, role2, role3, ...
-
-
-sven = pass, admin_role
-dick = pass, user_role
-bob  = pass, user_role
-joe  = pass, user_role
-
-
-
-# -----------------------------------------------------------------------------
-# Roles with assigned permissions
-# 
-# Each line conforms to the format defined in the
-# org.apache.shiro.realm.text.TextConfigurationRealm#setRoleDefinitions JavaDoc
-# -----------------------------------------------------------------------------
-
-[roles]
-# role = perm1, perm2, perm3, ...
-# perm in format: packageName:className:memberName:r,w
-
-user_role =   *:HelloWorldObjects:*:*,\
-              *:HelloWorldObject:*:*
-admin_role = *
diff --git a/starters/helloworld/src/main/resources/static/css/application.css b/starters/helloworld/src/main/resources/static/css/application.css
deleted file mode 100644
index 9f1612a..0000000
--- a/starters/helloworld/src/main/resources/static/css/application.css
+++ /dev/null
@@ -1,19 +0,0 @@
-/*
- *  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.
- */
-
diff --git a/starters/helloworld/src/main/resources/static/images/apache-isis/logo-48x48.png b/starters/helloworld/src/main/resources/static/images/apache-isis/logo-48x48.png
deleted file mode 100644
index 08e012c..0000000
Binary files a/starters/helloworld/src/main/resources/static/images/apache-isis/logo-48x48.png and /dev/null differ
diff --git a/starters/helloworld/src/main/resources/static/images/apache-isis/logo.png b/starters/helloworld/src/main/resources/static/images/apache-isis/logo.png
deleted file mode 100644
index 5284fe7..0000000
Binary files a/starters/helloworld/src/main/resources/static/images/apache-isis/logo.png and /dev/null differ
diff --git a/starters/helloworld/src/main/resources/static/images/favicon.png b/starters/helloworld/src/main/resources/static/images/favicon.png
deleted file mode 100644
index 2586589..0000000
Binary files a/starters/helloworld/src/main/resources/static/images/favicon.png and /dev/null differ
diff --git a/starters/helloworld/src/main/resources/static/index.html b/starters/helloworld/src/main/resources/static/index.html
deleted file mode 100644
index 51d56ef..0000000
--- a/starters/helloworld/src/main/resources/static/index.html
+++ /dev/null
@@ -1,107 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--
-  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.
--->
-<html>
-    <head>
-        <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-        <title>Apache Isis&trade; HelloWorld</title>
-        
-        <style type="text/css">
-body {
-    background-color: #1A467B;
-    font-family: Verdana, Helvetica, Arial, serif;
-    font-size: 90%;
-}
-
-li {
-    margin-top: 6px;
-    margin-bottom: 6px;
-}
-table {
-    border-collapse: collapse;
-}
-table, th, td {
-    border: 1px;
-    border-style: solid;
-    border-color: lightgray;
-}
-th, td {
-    padding: 10px;
-}
-#wrapper {
-    background-color: #ffffff;
-    width: 900px;
-    margin: 8px auto;
-    padding: 12px;
-}
-        </style>
-    </head>
-    <body>
-        <div id="wrapper">
-            <img alt="Isis Logo" src="images/apache-isis/logo.png" />
-             
-            <p>
-                This app has been generated using Apache Isis'
-                <a href="http://isis.apache.org/guides/ugfun/ugfun.html#_ugfun_getting-started_hellow%6Frld-archetype" target="_blank">Hello World</a> archetype.  Hello World is a tiny application, intended to make it easy to start learning how to write apps on top of the framework.
-                <br/>
-            </p>
-
-            <p>To access the app:</p>
-            <ul>
-                <li>
-                    <p>
-                        <b><a href="wicket/">wicket/</a></b>
-                    </p>
-                    <p>
-                        provides access to a generic UI for end-users,
-                        Apache Isis' <a href="http://isis.apache.org/guides/ugvw/ugvw.html" target="_blank">Wicket Viewer</a>.
-                        As its name suggests, this viewer is built on top of <a href="http://wicket.apache.org" target="_blank">Apache Wicket</a>&trade;.
-                    </p>
-                </li>
-                <li>
-                    <p>
-                        <b>
-                            <a href="swagger-ui/index.template.html">swagger-ui/</a>
-                        </b>
-                    </p>
-                    <p>
-                        provides access to a Swagger UI which uses a subset of the framework's automatically
-                        generated <a href="restful/">RESTful API</a> (provided by the 
-                        <a href="http://isis.apache.org/guides/ugvro/ugvro.html"  target="_blank">Restful Objects viewer</a>).  There are 
-                        three versions of the Swagger spec files (that drive the UI): 
-                        <a href="restful/swagger/public">public</a> (for use by "third-party" apps), 
-                        <a href="restful/swagger/private">private</a> (for use by internal apps), and 
-                        <a href="restful/swagger/prototyping">prototyping</a> (an extended version of the private
-                        API).  The Swagger spec files are themselves dynamically generated and can be used to generate
-                        client-side stubs.
-                    </p>
-                    <p>The RESTful API can return both simple representations and also richer hypermedia representations
-                        that are conformant with the <a href="http://restfulobjects.org"  target="_blank">Restful Objects</a> spec.
-                        The HTTP <code>Accept</code> header is used to select which representation should be generated.
-                    </p>
-                </li>
-            </ul>
-
-            <p>
-            The default user/password is <b><i>sven/pass</i></b>.
-            </p>
-            
-        </div>
-    </body>
-</html>
diff --git a/starters/helloworld/src/main/resources/static/scripts/application.js b/starters/helloworld/src/main/resources/static/scripts/application.js
deleted file mode 100644
index d8cf6fe..0000000
--- a/starters/helloworld/src/main/resources/static/scripts/application.js
+++ /dev/null
@@ -1,3 +0,0 @@
-$(document).ready(function() {
-	/// here...
-});
\ No newline at end of file
diff --git a/starters/helloworld/src/main/webapp/META-INF/context.xml b/starters/helloworld/src/main/webapp/META-INF/context.xml
deleted file mode 100644
index fd2fac1..0000000
--- a/starters/helloworld/src/main/webapp/META-INF/context.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Context path=""/>
diff --git a/starters/helloworld/src/main/webapp/WEB-INF/web.xml b/starters/helloworld/src/main/webapp/WEB-INF/web.xml
deleted file mode 100644
index f5f0dd4..0000000
--- a/starters/helloworld/src/main/webapp/WEB-INF/web.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  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.
--->
-<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xmlns="http://xmlns.jcp.org/xml/ns/javaee"
-	xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
-	id="WebApp_ID" version="3.1"> 
-
-    <display-name>Hello World</display-name>
-
-
-</web-app>
diff --git a/starters/helloworld/src/test/java/domainapp/dom/impl/HelloWorldObject_delete_Test.java b/starters/helloworld/src/test/java/domainapp/dom/impl/HelloWorldObject_delete_Test.java
deleted file mode 100644
index c09e6ca..0000000
--- a/starters/helloworld/src/test/java/domainapp/dom/impl/HelloWorldObject_delete_Test.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- *  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.
- */
-package domainapp.dom.impl;
-
-import org.jmock.Expectations;
-import org.jmock.auto.Mock;
-import org.junit.Rule;
-import org.junit.Test;
-
-import org.apache.isis.applib.services.message.MessageService;
-import org.apache.isis.applib.services.repository.RepositoryService;
-import org.apache.isis.applib.services.title.TitleService;
-import org.apache.isis.unittestsupport.jmocking.JUnitRuleMockery2;
-
-import static org.hamcrest.CoreMatchers.containsString;
-
-public class HelloWorldObject_delete_Test {
-
-    @Rule
-    public JUnitRuleMockery2 context = JUnitRuleMockery2.createFor(JUnitRuleMockery2.Mode.INTERFACES_AND_CLASSES);
-
-    @Mock
-    TitleService mockTitleService;
-
-    @Mock
-    MessageService mockMessageService;
-
-    @Mock
-    RepositoryService mockRepositoryService;
-
-    @Test
-    public void happy_case() throws Exception {
-
-        // given
-        final HelloWorldObject object = new HelloWorldObject("Foo");
-        object.titleService = mockTitleService;
-        object.messageService = mockMessageService;
-        object.repositoryService = mockRepositoryService;
-
-        // expecting
-        context.checking(new Expectations() {{
-            allowing(mockTitleService).titleOf(object); will(returnValue("Foo"));
-
-            oneOf(mockMessageService).informUser(with(containsString("'Foo' deleted")));
-            oneOf(mockRepositoryService).removeAndFlush(object);
-        }});
-
-        // when
-        object.delete();
-    }
-
-
-}
\ No newline at end of file
diff --git a/starters/helloworld/src/test/java/domainapp/dom/impl/HelloWorldObject_updateName_Test.java b/starters/helloworld/src/test/java/domainapp/dom/impl/HelloWorldObject_updateName_Test.java
deleted file mode 100644
index 0d04182..0000000
--- a/starters/helloworld/src/test/java/domainapp/dom/impl/HelloWorldObject_updateName_Test.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- *  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.
- */
-package domainapp.dom.impl;
-
-import org.junit.Test;
-
-import static org.assertj.core.api.Assertions.assertThat;
-
-public class HelloWorldObject_updateName_Test {
-
-    @Test
-    public void happy_case() throws Exception {
-        // given
-        final HelloWorldObject object = new HelloWorldObject("Foo");
-        assertThat(object.getName()).isEqualTo("Foo");
-
-        // when
-        object.updateName("Bar");
-
-        // then
-        assertThat(object.getName()).isEqualTo("Bar");
-    }
-
-}
\ No newline at end of file
diff --git a/starters/simpleapp/.gitattributes b/starters/simpleapp/.gitattributes
deleted file mode 100644
index b1eafb6..0000000
--- a/starters/simpleapp/.gitattributes
+++ /dev/null
@@ -1,51 +0,0 @@
-#
-#
-# text files are normalized (convert crlf => lf)
-# binary files are not normalized (binary is a macro for -text -diff)
-#
-#
-
-
-# Unless otherwise stated, assume text
-
-* text=auto
-
-
-*.java text diff=java
-*.html text diff=html
-*.xhtml text diff=html
-*.xml text
-*.txt text
-
-
-*.jar binary
-*.so binary
-*.dll binary
-
-# images
-*.jpg binary
-*.jpeg binary
-*.png binary
-*.pdn binary
-*.pdn binary
-
-
-*.cs     text diff=csharp
-
-*.sln    merge=union
-*.csproj merge=union
-*.vbproj merge=union
-*.fsproj merge=union
-*.dbproj merge=union
-
-*.doc	 diff=astextplain
-*.DOC	 diff=astextplain
-*.docx diff=astextplain
-*.DOCX diff=astextplain
-*.dot  diff=astextplain
-*.DOT  diff=astextplain
-*.pdf  diff=astextplain
-*.PDF	 diff=astextplain
-*.rtf	 diff=astextplain
-*.RTF	 diff=astextplain
-
diff --git a/starters/simpleapp/.gitignore b/starters/simpleapp/.gitignore
deleted file mode 100644
index 371262a..0000000
--- a/starters/simpleapp/.gitignore
+++ /dev/null
@@ -1,43 +0,0 @@
-*~
-*.swp
-*.class
-bin/
-target/
-target-ide/
-logs/
-.settings/
-.project
-.classpath
-.idea
-*.iml
-
-build/
-
-JArchitectOut/
-*.jdproj
-
-neo4j_DB/
-
-# log files
-datanucleus.log
-isis.log
-i18n-po.log
-hs_err_pid*.log
-
-# Package Files #
-*.war
-*.ear
-
-dependency-reduced-pom.xml
-pom.xml.tag
-pom.xml.next
-pom.xml.releaseBackup
-pom.xml.versionsBackup
-
-.clover/
-
-
-rebel.xml
-translations.pot
-
-.flattened-pom.xml
\ No newline at end of file
diff --git a/starters/simpleapp/.gitlab-ci.yml b/starters/simpleapp/.gitlab-ci.yml
deleted file mode 100644
index 7d4a33b..0000000
--- a/starters/simpleapp/.gitlab-ci.yml
+++ /dev/null
@@ -1,51 +0,0 @@
-#
-# requires the following gitlab secret variables
-# - DOCKER_REGISTRY_USERNAME
-# - DOCKER_REGISTRY_PASSWORD
-# - DOCKER_REGISTRY_EMAIL
-# - DOCKER_REGISTRY_NAME        # eg "registry-1.docker.io" (for docker hub)
-                                # or "docker-dev.incode.cloud" (eg a cloud-based nexus)
-# - DOCKER_REGISTRY_URL         # eg "https://index.docker.io/v1/" (for docker hub)
-                                # or "https://repo.incode.cloud/repository/docker-dev/" (eg a cloud-based nexus)
-#
-
-image: maven:3.5.3-jdk-8
-
-before_script:
-  - export REVISION=$(date +%Y%m%d.%H%M).$CI_COMMIT_REF_SLUG.$(echo $CI_COMMIT_SHA | cut -c1-8)
-
-services:
-  - docker:dind
-
-variables:
-  DOCKER_HOST: tcp://docker:2375
-  DOCKER_DRIVER: overlay2
-  MAVEN_OPTS: "-Dmaven.repo.local=.m2/repository -Dskip.cloudbees-estatio-repositories -Dskip.sonatype-snapshots -Dskip.apache-snapshots"
-  APP_NAME: "simpleapp"
-
-stages:
-  - build-package-push
-
-build-package-push:
-  stage: build-package-push
-  script:
-    - echo "REVISION=$REVISION"
-    - >
-      mvn --batch-mode \
-           install \
-          -Drevision=$REVISION \
-          -Dmavenmixin-docker \
-          -Ddocker-plugin.imageName=$DOCKER_REGISTRY_NAME/$DOCKER_REGISTRY_USERNAME/$APP_NAME
-    - >
-      mvn -s .m2/settings.xml \
-          --batch-mode \
-          docker:push@push-image-tagged \
-          -pl webapp \
-          -Drevision=$REVISION \
-          -DskipTests \
-          -Dskip.isis-swagger \
-          -Dmavenmixin-docker \
-          -Ddocker-plugin.imageName=$DOCKER_REGISTRY_USERNAME/$DOCKER_REGISTRY_REPOSITORY \
-          -Ddocker-plugin.serverId=docker-registry \
-          -Ddocker.registryUrl=$DOCKER_REGISTRY_URL
-
diff --git a/starters/simpleapp/.m2/settings.xml b/starters/simpleapp/.m2/settings.xml
deleted file mode 100644
index f40e9c6..0000000
--- a/starters/simpleapp/.m2/settings.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
-          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
-  <servers>
-    <server>
-      <id>docker-registry</id>
-      <username>${env.DOCKER_REGISTRY_USERNAME}</username>
-      <password>${env.DOCKER_REGISTRY_PASSWORD}</password>
-      <configuration>
-        <email>${env.DOCKER_REGISTRY_EMAIL}</email>
-      </configuration>
-    </server>
-    <server>
-      <id>tomcat-server</id>
-      <username>admin</username>
-      <password>password</password>
-    </server>
-  </servers>
-</settings>
diff --git a/starters/simpleapp/README.adoc b/starters/simpleapp/README.adoc
deleted file mode 100644
index 5f05fb9..0000000
--- a/starters/simpleapp/README.adoc
+++ /dev/null
@@ -1,244 +0,0 @@
-= SimpleApp
-
-This application was generated by the link:http://isis.apache.org[Apache Isis] link:http://isis.apache.org/arch/simpleapp/about.html[simpleapp archetype].
-It is intended as a starting point for developing your own applications.
-
-== Quick start
-
-Build using:
-
-[source,bash]
-----
-mvn clean install
-----
-
-Run using:
-
-[source,bash]
-----
-mvn -pl webapp jetty:run
-----
-
-Login using: 
-
-* username: `sven`
-* password: `pass`
-
-The app runs with HSQLDB running in-memory, with sample data set up using link:https://isis.apache.org/guides/ugtst.html#_ugtst_fixture-scripts[fixture scripts].
-
-
-
-== Application Structure
-
-The following table explains the contents of each of the directories:
-
-[width="100%",options="header,footer", cols="2a,4a"]
-|====================
-|Directory
-|Description
-
-|`application`
-|Defines application-level classes such as menus and the ``AppManifest`` (which defines the modules that make up the application).
-It also  holds application-wide integration tests/BDD specs.
-
-|`module-simple`
-|Holds the "simple" module, consisting of the `SimpleObject` entity and supporting repository, along with module-specific unit- and integration tests.
-Also runs `isis:validate` goal for the domain objects within the module. +
-
-[TIP]
-====
-Larger applications should consist of multiple modules; each such module can be copied from this starter module.
-====
-
-|`webapp`
-|Assembles the application into a webapp (comprising both the Wicket viewer and Restful Objects viewer) and also as a docker image, and runs the `isis:swagger` goal.
-
-|`_checks`
-|Checkstyle and PMD rule sets for static analysis.
-
-[TIP]
-====
-Extend/adapt these according to your own standards.
-====
-
-
-|====================
-
-== More advanced use cases
-
-* To enhance all JDO entities prior to running: +
-+
-[source,bash]
-----
-mvn -pl module-simple datanucleus:enhance -o
-----
-
-* To also generate the link:https://github.com/eirbjo/jetty-console[Jetty console], allowing the application to run as a standalone JAR: +
-+
-[source,bash]
-----
-mvn install -Dmavenmixin-jettyconsole
-----
-+
-This can then be run using: +
-+
-[source,bash]
-----
-cd webapp/target && java -jar simpleapp-webapp-xxx-jetty-console.war
-----
-+
-Add additional arguments ``--headless`` or ``--port 9999``, if required.
-+
-It can also be run using: +
-+
-[source,bash]
-----
-mvn -pl webapp && mvn antrun:run -Dmavenmixin-jettyconsole
-----
-+
-or to specify arguments:
-+
-[source,bash]
-----
-mvn -pl webapp && mvn antrun:run -Dmavenmixin-jettyconsole \
-    -Dmaven-antrun-plugin.jettyconsole.args="--headless --port 9090"
-----
-
-
-* To also generate source and javadoc JARs:
-+
-[source,bash]
-----
-mvn clean package -Dmavenmixin-sourceandjavadoc
-----
-+
-[NOTE]
-====
-This is configured only for the `module-simple` module.
-====
-
-* To create the website (for the `module-simple` module) with source/javadoc and static analysis:
-+
-[source,bash]
-----
-mvn -pl module-simple site -Dmavenmixin-sourceandjavadoc -Dmavenmixin-staticanalysis
-----
-+
-[NOTE]
-====
-This is intended to run only for the `module-simple` module, and will generate a website under`target/site/index.html`.
-====
-
-
-* To disable the running of unit tests: +
-+
-[source,bash]
-----
-mvn -DskipUTs 
-----
-+
-[TIP]
-====
-By default, output of unit tests are in  `target/surefire-unittest-reports` (in the ``module-simple`` modules).
-====
-
-* To disable the running of integration tests: +
-+
-[source,bash]
-----
-mvn -DskipITs 
-----
-+
-[TIP]
-====
-By default, output of integration tests are in  `target/surefire-integtest-reports` (in the ``application`` and ``module-simple`` modules).
-====
-
-* To disable the running of BDD specs: +
-+
-[source,bash]
-----
-mvn -DskipBSs 
-----
-+
-[TIP]
-====
-By default, output of integration tests are in  `target/surefire-integbddspecs-reports` (in the ``application`` module).
-====
-
-* To disable the running of all tests and BDD specs: +
-+
-[source,bash]
-----
-mvn -DskipTests 
-----
-
-* To disable the running of the `isis:validate` goal: +
-+
-[source,bash]
-----
-mvn -Dskip.mavenmixin-isisvalidate  
-----
-
-
-* To disable the generation of cucumber reports: +
-+
-[source,bash]
-----
-mvn -Dskip.mavenmixin-cucumberreporting
-----
-+
-[TIP]
-====
-By default, cucumber reports are generated at `target/cucumber-html-reports/overview-features.html` (in the ``application`` module).
-====
-
-* To disable the running of the `isis:swagger` goal:
-+
-[source,bash]
-----
-mvn -Dskip.mavenmixin-isisswagger
-----
-+
-[TIP]
-====
-By default, Swagger schema definition files are generated at `target/generated-resources/isis-swagger` (in the ``webapp`` module).
-====
-
-* To package up the application as a docker image (specifying the docker image name as a system property): +
-+
-[source,bash]
-----
-mvn install -Dmavenmixin-docker -Ddocker-plugin.imageName=mycompany/myapp
-----
-+
-Alternatively, define the `${docker-plugin.imageName}` in the `webapp` module and use simply: +
-+
-[source,bash]
-----
-mvn install -Dmavenmixin-docker
-----
-+
-The packaged image can be viewed using `docker images`.
-
-* To run a docker image previously packaged: +
-+
-[source,bash]
-----
-docker container run -d -p 8080:8080 mycompany/myapp
-----
-+
-This can then be accessed at link:http://localhost:8080[localhost:8080].
-+
-See link:https://github.com/danhaywood/java-mavenmixin-docker#how-to-consume[mavenmixin-docker] for further details on how to run docker images.
-
-* To upload the application as a docker image to link:https://hub.docker.com[docker hub] (or some other docker registry): +
-+
-[source,bash]
-----
-mvn -pl webapp deploy -Dmavenmixin-docker
-----
-+
-This assumes that the `${docker-plugin.imageName}` property has been defined, _and_ also that docker registry credentials have been specified in `~/.m2/settings.xml`.
-Once more, see link:https://github.com/danhaywood/java-mavenmixin-docker#how-to-configure[mavenmixin-docker] for further details.
-
diff --git a/starters/simpleapp/_checks/checkstyle.xml b/starters/simpleapp/_checks/checkstyle.xml
deleted file mode 100644
index 033c545..0000000
--- a/starters/simpleapp/_checks/checkstyle.xml
+++ /dev/null
@@ -1,287 +0,0 @@
-<?xml version="1.0"?>
-<!--
-  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.
--->
-<!DOCTYPE module PUBLIC
-    "-//Puppy Crawl//DTD Check Configuration 1.1//EN"
-    "http://www.puppycrawl.com/dtds/configuration_1_1.dtd">
-
-<!--
-
-  Checkstyle configuration that checks the sun coding conventions from:
-
-    - the Java Language Specification at
-      http://java.sun.com/docs/books/jls/second_edition/html/index.html
-
-    - the Sun Code Conventions at http://java.sun.com/docs/codeconv/
-
-    - the Javadoc guidelines at
-      http://java.sun.com/j2se/javadoc/writingdoccomments/index.html
-
-    - the JDK Api documentation http://java.sun.com/j2se/docs/api/index.html
-
-    - some best practices
-
-  Checkstyle is very configurable. Be sure to read the documentation at
-  http://checkstyle.sf.net (or in your downloaded distribution).
-
-  Most Checks are configurable, be sure to consult the documentation.
-
-  To completely disable a check, just comment it out or delete it from the file.
-
-  Finally, it is worth reading the documentation.
-
--->
-
-<module name="Checker">
-
-    <!-- Checks that a package.html file exists for each package.     -->
-    <!-- See http://checkstyle.sf.net/config_javadoc.html#PackageHtml -->
-    <module name="JavadocPackage"/>
-    <!--
-    -->
-
-    <!-- Checks whether files end with a new line.                        -->
-    <!-- See http://checkstyle.sf.net/config_misc.html#NewlineAtEndOfFile -->
-        <!-- 
-    <module name="NewlineAtEndOfFile"/>
-         -->
-
-    <!-- Checks that property files contain the same keys.         -->
-    <!-- See http://checkstyle.sf.net/config_misc.html#Translation -->
-    <module name="Translation"/>
-
-    <!--
-    eg:
-    //CHECKSTYLE.OFF: IllegalCatch - Much more readable than catching 7 exceptions
-    catch (Exception e)
-    //CHECKSTYLE.ON: IllegalCatch 
-     -->
-    <module name="SuppressionCommentFilter">
-        <property name="offCommentFormat" value="CHECKSTYLE.OFF\: ([\w\|]+)"/>
-        <property name="onCommentFormat" value="CHECKSTYLE.ON\: ([\w\|]+)"/>
-        <property name="checkFormat" value="$1"/>
-    </module>
-
-    <!--
-    eg:
-    // CHECKSTYLE IGNORE check FOR NEXT 1 LINES
-    public void onClick(View view) { ... }     -->    
-    <module name="SuppressWithNearbyCommentFilter">
-        <property name="commentFormat" value="CHECKSTYLE.IGNORE (\w+) FOR NEXT (\d+) LINES"/>
-        <property name="checkFormat" value="$1"/>
-        <property name="influenceFormat" value="$2"/>
-    </module>
-
-    <module name="TreeWalker">
-
-        <property name="cacheFile" value="${checkstyle.cache.file}"/>
-
-        <!-- not available in eclipse-cs
-        <module name="JavadocDeprecated"/>
-        -->
-        <module name="MissingOverride"/>
-        
-        <!-- ************************************************************** -->
-        <!-- Checks that are different from the sun coding conventions ones -->
-        <!-- ************************************************************** -->
-        <property name="tabWidth" value="4"/>
-        <module name="LeftCurly">
-          <property name="option" value="eol"/>
-        </module>
-        <module name="RightCurly">
-          <property name="option" value="same"/>
-        </module>
-        <module name="MemberName">
-          <property name="format" value="^[a-z]([a-zA-Z0-9])*$"/>
-        </module>
-        <module name="StaticVariableName">
-          <property name="format" value="^[A-Z](_?[A-Z0-9])*$"/>
-        </module>
-        <module name="MethodName">
-          <property name="format" value="[a-z](_?[a-zA-Z0-9]+)*$"/>
-        </module>
-        <module name="ParameterName">
-          <property name="format" value="[a-z]([a-zA-Z0-9]+)*$"/>
-        </module>
-        <module name="LocalVariableName">
-          <property name="format" value="[a-z]([a-zA-Z0-9]+)*$"/>
-        </module>
-        
-        <!-- ************************************************************** -->
-        <!-- Default Sun coding conventions checks                          -->
-        <!-- ************************************************************** -->
-
-        <!-- Checks for Javadoc comments.                     -->
-        <!-- See http://checkstyle.sf.net/config_javadoc.html -->
-     
-        <!-- TODO: instate at some point (though only for public methods   
-        <module name="JavadocType"/>
-        -->
-        <!-- 
-        <module name="JavadocMethod"/>
-        <module name="JavadocVariable"/>
-         -->
-
-
-        <!-- Checks for Naming Conventions.                  -->
-        <!-- See http://checkstyle.sf.net/config_naming.html -->
-        <module name="ConstantName"/>
-        <module name="PackageName"/>
-        <module name="TypeName"/>
-        <module name="LocalFinalVariableName"/>
-
-
-        <!-- Checks for Headers                              -->
-        <!-- See http://checkstyle.sf.net/config_header.html -->
-                <!--         
-        <module name="Header">
-         -->
-            <!-- The follow property value demonstrates the ability     -->
-            <!-- to have access to ANT properties. In this case it uses -->
-            <!-- the ${basedir} property to allow Checkstyle to be run  -->
-            <!-- from any directory within a project.                   -->
-                    <!--             
-            <property name="headerFile" value="${checkstyle.header.file}"/>
-        </module>
-         -->
-
-        <!-- Following interprets the header file as regular expressions. -->
-        <!-- <module name="RegexpHeader"/>                                -->
-
-
-        <!-- Checks for imports                              -->
-        <!-- See http://checkstyle.sf.net/config_import.html -->
-        <module name="AvoidStarImport"/>
-        <module name="IllegalImport"/>
-        <module name="RedundantImport"/>
-        <module name="UnusedImports"/>
-
-    
-        <!-- Checks for blocks. You know, those {}'s         -->
-        <!-- See http://checkstyle.sf.net/config_blocks.html -->
-        <module name="EmptyBlock"/>
-        <module name="NeedBraces"/>
-        <!-- 
-        <module name="AvoidNestedBlocks"/>
-         -->
-
-
-        <!-- Checks for common coding problems               -->
-        <!-- See http://checkstyle.sf.net/config_coding.html -->
-        <module name="EmptyStatement"/>
-        <module name="MagicNumber"/>
-        <module name="MissingSwitchDefault"/>
-        <module name="RedundantThrows"/>
-        <module name="SimplifyBooleanExpression"/>
-        <module name="SimplifyBooleanReturn"/>
-        
-        <!-- not supported in maven 
-        <module name="DoubleCheckedLocking"/>  
-         -->
-        <!-- 
-        <module name="AvoidInlineConditionals"/>
-        <module name="EqualsHashCode"/>
-        <module name="HiddenField"/>
-        <module name="IllegalInstantiation"/>
-        <module name="InnerAssignment"/>
-         -->
-
-        <!-- Checks for class design                         -->
-        <!-- See http://checkstyle.sf.net/config_design.html -->
-        <!-- 
-        
-        <module name="VisibilityModifier"/>
-         -->
-         <!-- too many violations... 
-         <module name="DesignForExtension"/>
-          -->
-         <module name="FinalClass"/>
-         <module name="HideUtilityClassConstructor"/>
-         <module name="InterfaceIsType"/>
-
-         
-         <module name="CyclomaticComplexity">
-            <property name="max" value="12"/>
-         </module>
-         <module name="NPathComplexity">
-            <property name="max" value="160"/>
-        </module>
-
-        <!-- Miscellaneous other checks.                   -->
-        <!-- See http://checkstyle.sf.net/config_misc.html -->
-        <!-- 
-        <module name="ArrayTypeStyle"/>
-        <module name="GenericIllegalRegexp">
-            <property name="format" value="\s+$"/>
-            <property name="message" value="Line has trailing spaces."/>
-        </module>
-         -->
-         <!-- removed; we detect these in other ways. 
-        <module name="TodoComment"/>
-          -->
-        <module name="UpperEll"/>
-        <module name="FinalParameters"/>
-         
-        <!-- Checks for whitespace                               -->
-        <!-- See http://checkstyle.sf.net/config_whitespace.html -->
-        <!-- 
-        <module name="NoWhitespaceAfter"/>
-        <module name="NoWhitespaceBefore"/>
-        <module name="OperatorWrap"/>
-        <module name="ParenPad"/>
-        <module name="WhitespaceAfter"/>
-        <module name="WhitespaceAround"/>
-        <module name="TabCharacter"/>
-         -->
-        <module name="EmptyForIteratorPad"/>
-
-
-        <!-- Modifier Checks                                    -->
-        <!-- See http://checkstyle.sf.net/config_modifiers.html -->
-        <!-- 
-        <module name="ModifierOrder"/>
-        <module name="RedundantModifier"/>
-         -->
-         
-        <!-- Checks for Size Violations.                    -->
-        <!-- See http://checkstyle.sf.net/config_sizes.html -->
-         <module name="LineLength">
-            <property name="max" value="120"/>
-        </module>
-        <module name="MethodLength">
-            <property name="max" value="30"/>
-        </module>
-        <module name="ParameterNumber">
-            <property name="max" value="6"/>
-        </module>
-
-    </module>
-    
-    
-
-    <module name="FileLength">
-        <property name="max" value="1500"/>
-    </module>
-
-    <module name="FileTabCharacter">
-        <property name="eachLine" value="true"/>
-        <property name="fileExtensions" value="java,xml"/>
-    </module>
-
-</module>
diff --git a/starters/simpleapp/_checks/pmd.xml b/starters/simpleapp/_checks/pmd.xml
deleted file mode 100644
index 4046196..0000000
--- a/starters/simpleapp/_checks/pmd.xml
+++ /dev/null
@@ -1,46 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  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.
--->
-<ruleset name="Maven Ruleset"
-  xmlns="http://pmd.sf.net/ruleset/1.0.0"
-  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xsi:schemaLocation="http://pmd.sf.net/ruleset/1.0.0 http://pmd.sf.net/ruleset_xml_schema.xsd"
-  xsi:noNamespaceSchemaLocation="http://pmd.sf.net/ruleset_xml_schema.xsd">
-  
-  <!-- 
-    Customized PMD ruleset for Maven, see [0] for more information 
-    [0] http://pmd.sourceforge.net/howtomakearuleset.html
-  -->
-  
-  <description>
-    This ruleset checks the code for discouraged programming constructs.
-  </description>
-  
-  <rule ref="rulesets/java/basic.xml">
-    <exclude name="EmptyCatchBlock"/>
-  </rule>
-  <rule ref="rulesets/java/basic.xml/EmptyCatchBlock">
-    <properties>
-      <property name="allowCommentedBlocks" value="true"/>
-    </properties>
-  </rule>
-  
-  <rule ref="rulesets/java/unusedcode.xml"/>
-  <rule ref="rulesets/java/imports.xml"/>
-</ruleset>
diff --git a/starters/simpleapp/application/.gitignore b/starters/simpleapp/application/.gitignore
deleted file mode 100644
index c71ea97..0000000
--- a/starters/simpleapp/application/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/.apt_generated/
diff --git a/starters/simpleapp/application/log4j2-test.xml b/starters/simpleapp/application/log4j2-test.xml
deleted file mode 100644
index 56e8ad6..0000000
--- a/starters/simpleapp/application/log4j2-test.xml
+++ /dev/null
@@ -1,60 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Configuration status="WARN">
-	<Properties>
-		<Property name="PID">????</Property>
-		<Property name="LOG_EXCEPTION_CONVERSION_WORD">%xwEx</Property>
-		<Property name="LOG_LEVEL_PATTERN">%5p</Property>
-		<Property name="LOG_DATEFORMAT_PATTERN">yyyy-MM-dd HH:mm:ss.SSS</Property>
-		<Property name="CONSOLE_LOG_PATTERN">%clr{%d{${LOG_DATEFORMAT_PATTERN}}}{faint} %clr{${LOG_LEVEL_PATTERN}} %clr{${sys:PID}}{magenta} %clr{---}{faint} %clr{[%15.15t]}{faint} %clr{%-40.40c{1.}}{cyan} %clr{:}{faint} %m%n${sys:LOG_EXCEPTION_CONVERSION_WORD}</Property>
-		<Property name="FILE_LOG_PATTERN">%d{${LOG_DATEFORMAT_PATTERN}} ${LOG_LEVEL_PATTERN} ${sys:PID} --- [%t] %-40.40c{1.} : %m%n${sys:LOG_EXCEPTION_CONVERSION_WORD}</Property>
-	</Properties>
-	<Appenders>
-		<Console name="Console" target="SYSTEM_OUT" follow="true">
-			<PatternLayout pattern="${sys:CONSOLE_LOG_PATTERN}" />
-		</Console>
-	</Appenders>
-	<Loggers>
-		<Logger name="org.apache.catalina.startup.DigesterFactory" level="error" />
-		<Logger name="org.apache.catalina.util.LifecycleBase" level="error" />
-		<Logger name="org.apache.coyote.http11.Http11NioProtocol" level="warn" />
-		<logger name="org.apache.sshd.common.util.SecurityUtils" level="warn"/>
-		<Logger name="org.apache.tomcat.util.net.NioSelectorPool" level="warn" />
-		<Logger name="org.eclipse.jetty.util.component.AbstractLifeCycle" level="error" />
-		<Logger name="org.hibernate.validator.internal.util.Version" level="warn" />
-		<logger name="org.springframework.boot.actuate.endpoint.jmx" level="warn"/>
-		
-		<logger name="org.apache.directory" level="warn"/>
-		<logger name="org.apache.directory.api.ldap.model.entry.Value" level="off"/>
-		
-		<logger name="DataNucleus.Persistence" level="info"/>
-		<logger name="DataNucleus.Transaction" level="info"/>
-		<logger name="DataNucleus.Datastore.Schema" level="info"/>
-		<logger name="DataNucleus.Datastore.Native" level="info"/>
-		
-		<Root level="info">
-			<AppenderRef ref="Console" />
-		</Root>
-	</Loggers>
-</Configuration>
-
-<!-- # DataNucleus Logging Categories -->
-<!-- DataNucleus.Persistence - All messages relating to the persistence process -->
-<!-- DataNucleus.Transaction - All messages relating to transactions -->
-<!-- DataNucleus.Connection - All messages relating to Connections. -->
-<!-- DataNucleus.Query - All messages relating to queries -->
-<!-- DataNucleus.Cache - All messages relating to the DataNucleus Cache -->
-<!-- DataNucleus.MetaData - All messages relating to MetaData -->
-<!-- DataNucleus.Datastore - All general datastore messages -->
-<!-- DataNucleus.Datastore.Schema - All schema related datastore log messages -->
-<!-- DataNucleus.Datastore.Persist - All datastore persistence messages -->
-<!-- DataNucleus.Datastore.Retrieve - All datastore retrieval messages -->
-<!-- DataNucleus.Datastore.Native - Log of all 'native' statements sent to the datastore -->
-<!-- DataNucleus.General - All general operational messages -->
-<!-- DataNucleus.Lifecycle - All messages relating to object lifecycle changes -->
-<!-- DataNucleus.ValueGeneration - All messages relating to value generation -->
-<!-- DataNucleus.Enhancer - All messages from the DataNucleus Enhancer. -->
-<!-- DataNucleus.SchemaTool - All messages from DataNucleus SchemaTool -->
-<!-- DataNucleus.JDO - All messages general to JDO -->
-<!-- DataNucleus.JPA - All messages general to JPA -->
-<!-- DataNucleus.JCA - All messages relating to Connector JCA. -->
-<!-- DataNucleus.IDE - Messages from the DataNucleus IDE. -->
\ No newline at end of file
diff --git a/starters/simpleapp/application/pom.xml b/starters/simpleapp/application/pom.xml
deleted file mode 100644
index 024c6ea..0000000
--- a/starters/simpleapp/application/pom.xml
+++ /dev/null
@@ -1,125 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  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.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-
-    <parent>
-        <groupId>org.apache.isis.examples.apps</groupId>
-        <artifactId>simpleapp</artifactId>
-        <version>2.0.0-M3-SNAPSHOT</version>
-    </parent>
-
-    <artifactId>simpleapp-application</artifactId>
-    <name>Apache Isis App - SimpleApp Application</name>
-
-    <description>This defines the application (manifest) and runs application-level fixtures and integration (smoke) tests</description>
-
-    <packaging>jar</packaging>
-
-    <properties>
-        <maven-cucumber-reporting.version>4.11.2</maven-cucumber-reporting.version>
-    </properties>
-
-    <build>
-        <resources>
-            <resource>
-                <filtering>false</filtering>
-                <directory>src/main/java</directory>
-                <includes>
-                    <include>**</include>
-                </includes>
-                <excludes>
-                    <exclude>**/*.java</exclude>
-                </excludes>
-            </resource>
-        </resources>
-        <testResources>
-            <testResource>
-                <filtering>false</filtering>
-                <directory>src/test/java</directory>
-            </testResource>
-        </testResources>
-        <plugins>
-            <plugin>
-                <groupId>net.masterthought</groupId>
-                <artifactId>maven-cucumber-reporting</artifactId>
-                <version>${maven-cucumber-reporting.version}</version>
-                <executions>
-                    <execution>
-                        <id>execution</id>
-                        <phase>verify</phase>
-                        <goals>
-                            <goal>generate</goal>
-                        </goals>
-                        <configuration>
-                            <projectName>SimpleApp</projectName>
-                            <outputDirectory>${project.build.directory}</outputDirectory>
-                            <inputDirectory>${project.build.directory}</inputDirectory>
-                            <jsonFiles>
-                                <param>**/*.json</param>
-                            </jsonFiles>
-                            <skip>${skipBSs}</skip>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-        </plugins>
-    </build>
-
-    <dependencies>
-    
-    	<dependency>
-            <groupId>${project.groupId}</groupId>
-            <artifactId>simpleapp-module-simple</artifactId>
-        </dependency>
-        
-		<dependency>
-			<groupId>org.apache.isis.mavendeps</groupId>
-			<artifactId>isis-mavendeps-webapp</artifactId>
-			<type>pom</type>
-		</dependency>
-		
-        <dependency>
-            <groupId>org.apache.isis.mavendeps</groupId>
-            <artifactId>isis-mavendeps-jdk11</artifactId>
-            <type>pom</type>
-        </dependency>
-
-        <dependency>
-            <groupId>com.h2database</groupId>
-            <artifactId>h2</artifactId>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.isis.mavendeps</groupId>
-            <artifactId>isis-mavendeps-testing</artifactId>
-            <type>pom</type>
-            <scope>test</scope>
-            <exclusions>
-                <exclusion>
-                    <groupId>junit</groupId>
-                    <artifactId>junit</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-
-    </dependencies>
-
-</project>
diff --git a/starters/simpleapp/application/src/main/java/domainapp/application/ApplicationModule.java b/starters/simpleapp/application/src/main/java/domainapp/application/ApplicationModule.java
deleted file mode 100644
index 684e332..0000000
--- a/starters/simpleapp/application/src/main/java/domainapp/application/ApplicationModule.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- *  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.
- */
-package domainapp.application;
-
-import org.apache.isis.extensions.fixtures.modules.Module;
-import org.springframework.context.annotation.ComponentScan;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.context.annotation.Import;
-
-import domainapp.modules.simple.SimpleModule;
-
-@Configuration
-@Import(SimpleModule.class)
-@ComponentScan
-public class ApplicationModule implements Module {
-
-}
diff --git a/starters/simpleapp/application/src/main/java/domainapp/application/fixture/DomainAppFixtureScriptsSpecificationProvider.java b/starters/simpleapp/application/src/main/java/domainapp/application/fixture/DomainAppFixtureScriptsSpecificationProvider.java
deleted file mode 100644
index f51acff..0000000
--- a/starters/simpleapp/application/src/main/java/domainapp/application/fixture/DomainAppFixtureScriptsSpecificationProvider.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- *  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.
- */
-package domainapp.application.fixture;
-
-import org.apache.isis.applib.annotation.DomainService;
-import org.apache.isis.applib.annotation.NatureOfService;
-import org.apache.isis.extensions.fixtures.fixturescripts.FixtureScripts;
-import org.apache.isis.extensions.fixtures.fixturespec.FixtureScriptsSpecification;
-import org.apache.isis.extensions.fixtures.fixturespec.FixtureScriptsSpecificationProvider;
-
-import domainapp.application.fixture.scenarios.DomainAppDemo;
-
-/**
- * Specifies where to find fixtures, and other settings.
- */
-@DomainService(
-        nature = NatureOfService.DOMAIN
-        )
-public class DomainAppFixtureScriptsSpecificationProvider implements FixtureScriptsSpecificationProvider {
-    @Override
-    public FixtureScriptsSpecification getSpecification() {
-        return FixtureScriptsSpecification
-                .builder(DomainAppFixtureScriptsSpecificationProvider.class)
-                .with(FixtureScripts.MultipleExecutionStrategy.EXECUTE)
-                .withRunScriptDefault(DomainAppDemo.class)
-                .withRecreate(DomainAppDemo.class)
-                .build();
-    }
-}
diff --git a/starters/simpleapp/application/src/main/java/domainapp/application/fixture/scenarios/DomainAppDemo.java b/starters/simpleapp/application/src/main/java/domainapp/application/fixture/scenarios/DomainAppDemo.java
deleted file mode 100644
index 3437e55..0000000
--- a/starters/simpleapp/application/src/main/java/domainapp/application/fixture/scenarios/DomainAppDemo.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- *  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.
- */
-package domainapp.application.fixture.scenarios;
-
-import org.apache.isis.extensions.fixtures.fixturescripts.FixtureScript;
-import org.apache.isis.extensions.fixtures.legacy.teardown.TeardownFixtureAbstract2;
-
-import domainapp.modules.simple.dom.impl.SimpleObject;
-import domainapp.modules.simple.fixture.SimpleObject_persona;
-
-public class DomainAppDemo extends FixtureScript {
-
-    @Override
-    protected void execute(final ExecutionContext ec) {
-        ec.executeChild(this, new TeardownFixtureAbstract2() {
-            @Override
-            protected void execute(final ExecutionContext executionContext) {
-                deleteFrom(SimpleObject.class);
-            }
-        });
-        ec.executeChild(this, new SimpleObject_persona.PersistAll());
-    }
-
-}
diff --git a/starters/simpleapp/application/src/main/java/domainapp/application/services/health/HealthCheckServiceImpl.java b/starters/simpleapp/application/src/main/java/domainapp/application/services/health/HealthCheckServiceImpl.java
deleted file mode 100644
index 329b973..0000000
--- a/starters/simpleapp/application/src/main/java/domainapp/application/services/health/HealthCheckServiceImpl.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- *  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.
- */
-package domainapp.application.services.health;
-
-import javax.inject.Inject;
-
-import org.apache.isis.applib.annotation.DomainService;
-import org.apache.isis.applib.annotation.NatureOfService;
-import org.apache.isis.applib.services.health.Health;
-import org.apache.isis.applib.services.health.HealthCheckService;
-
-import domainapp.modules.simple.dom.impl.SimpleObjects;
-
-@DomainService(nature = NatureOfService.DOMAIN)
-public class HealthCheckServiceImpl implements HealthCheckService {
-
-    @Override
-    public Health check() {
-
-        try {
-            simpleObjects.ping();
-            return Health.ok();
-        } catch (Exception ex) {
-            return Health.error(ex.getMessage());
-        }
-
-    }
-
-    @Inject
-    SimpleObjects simpleObjects;
-}
diff --git a/starters/simpleapp/application/src/main/java/domainapp/application/services/homepage/HomePageService.java b/starters/simpleapp/application/src/main/java/domainapp/application/services/homepage/HomePageService.java
deleted file mode 100644
index d3a4719..0000000
--- a/starters/simpleapp/application/src/main/java/domainapp/application/services/homepage/HomePageService.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- *  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.
- */
-package domainapp.application.services.homepage;
-
-import javax.inject.Inject;
-import javax.inject.Named;
-
-import org.springframework.stereotype.Service;
-
-import org.apache.isis.applib.annotation.Action;
-import org.apache.isis.applib.annotation.HomePage;
-import org.apache.isis.applib.annotation.SemanticsOf;
-import org.apache.isis.applib.services.factory.FactoryService;
-
-@Service @Named("homepage.HomePageService")
-public class HomePageService {
-
-    @Action(semantics = SemanticsOf.SAFE)
-    @HomePage
-    public HomePageViewModel homePage() {
-        return factoryService.instantiate(HomePageViewModel.class);
-    }
-
-
-    @Inject FactoryService factoryService;
-}
diff --git a/starters/simpleapp/application/src/main/java/domainapp/application/services/homepage/HomePageViewModel.java b/starters/simpleapp/application/src/main/java/domainapp/application/services/homepage/HomePageViewModel.java
deleted file mode 100644
index 952ab03..0000000
--- a/starters/simpleapp/application/src/main/java/domainapp/application/services/homepage/HomePageViewModel.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- *  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.
- */
-package domainapp.application.services.homepage;
-
-import java.util.List;
-
-import javax.inject.Inject;
-
-import org.apache.isis.applib.annotation.DomainObject;
-import org.apache.isis.applib.annotation.Nature;
-import org.apache.isis.applib.services.i18n.TranslatableString;
-
-import domainapp.modules.simple.dom.impl.SimpleObject;
-import domainapp.modules.simple.dom.impl.SimpleObjects;
-
-@DomainObject(
-        nature = Nature.VIEW_MODEL,
-        objectType = "domainapp.application.services.homepage.HomePageViewModel"
-        )
-public class HomePageViewModel {
-
-    public TranslatableString title() {
-        return TranslatableString.tr("{num} objects", "num", getObjects().size());
-    }
-
-    public List<SimpleObject> getObjects() {
-        return simpleObjects.listAll();
-    }
-
-    @Inject SimpleObjects simpleObjects;
-}
diff --git a/starters/simpleapp/application/src/main/java/domainapp/application/services/homepage/HomePageViewModel.layout.xml b/starters/simpleapp/application/src/main/java/domainapp/application/services/homepage/HomePageViewModel.layout.xml
deleted file mode 100644
index 1436efc..0000000
--- a/starters/simpleapp/application/src/main/java/domainapp/application/services/homepage/HomePageViewModel.layout.xml
+++ /dev/null
@@ -1,51 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<!--
-  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.
--->
-<bs3:grid xsi:schemaLocation="http://isis.apache.org/applib/layout/component http://isis.apache.org/applib/layout/component/component.xsd http://isis.apache.org/applib/layout/grid/bootstrap3 http://isis.apache.org/applib/layout/grid/bootstrap3/bootstrap3.xsd" xmlns="http://isis.apache.org/applib/layout/component" xmlns:bs3="http://isis.apache.org/applib/layout/grid/bootstrap3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-    <bs3:row>
-        <bs3:col span="2">
-            <bs3:sizeSpan size="LG" span="2" offset="true"/>
-            <bs3:row>
-                <bs3:col span="12" unreferencedActions="true">
-                    <domainObject/>
-                    <action id="clearHints"/>
-                    <action id="downloadLayoutXml" hidden="EVERYWHERE"/>
-                    <action id="rebuildMetamodel" hidden="EVERYWHERE"/>
-                    <action id="downloadMetaModelXml" hidden="EVERYWHERE"/>
-                    <action id="openRestApi" hidden="EVERYWHERE"/>
-                </bs3:col>
-            </bs3:row>
-        </bs3:col>
-        <bs3:col span="4" unreferencedCollections="true">
-            <bs3:row>
-                <bs3:col span="12">
-                    <collection id="objects" defaultView="table"/>
-                </bs3:col>
-            </bs3:row>
-        </bs3:col>
-    </bs3:row>
-    <bs3:row>
-
-    </bs3:row>
-    <bs3:row>
-        <bs3:col span="0">
-            <fieldSet name="General" id="general" unreferencedProperties="true"/>
-        </bs3:col>
-    </bs3:row>
-</bs3:grid>
diff --git a/starters/simpleapp/application/src/main/java/domainapp/application/services/homepage/HomePageViewModel.png b/starters/simpleapp/application/src/main/java/domainapp/application/services/homepage/HomePageViewModel.png
deleted file mode 100644
index cb03785..0000000
Binary files a/starters/simpleapp/application/src/main/java/domainapp/application/services/homepage/HomePageViewModel.png and /dev/null differ
diff --git a/starters/simpleapp/application/src/main/resources/log4j2-spring.xml b/starters/simpleapp/application/src/main/resources/log4j2-spring.xml
deleted file mode 100644
index 08a5edb..0000000
--- a/starters/simpleapp/application/src/main/resources/log4j2-spring.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Configuration status="WARN">
-	<Properties>
-		<Property name="PID">????</Property>
-		<Property name="LOG_EXCEPTION_CONVERSION_WORD">%xwEx</Property>
-		<Property name="LOG_LEVEL_PATTERN">%5p</Property>
-		<Property name="LOG_DATEFORMAT_PATTERN">yyyy-MM-dd HH:mm:ss.SSS</Property>
-		<Property name="CONSOLE_LOG_PATTERN">%clr{%d{${LOG_DATEFORMAT_PATTERN}}}{faint} %clr{${LOG_LEVEL_PATTERN}} %clr{${sys:PID}}{magenta} %clr{---}{faint} %clr{[%15.15t]}{faint} %clr{%-40.40c{1.}}{cyan} %clr{:}{faint} %m%n${sys:LOG_EXCEPTION_CONVERSION_WORD}</Property>
-		<Property name="FILE_LOG_PATTERN">%d{${LOG_DATEFORMAT_PATTERN}} ${LOG_LEVEL_PATTERN} ${sys:PID} --- [%t] %-40.40c{1.} : %m%n${sys:LOG_EXCEPTION_CONVERSION_WORD}</Property>
-	</Properties>
-	<Appenders>
-		<Console name="Console" target="SYSTEM_OUT" follow="true">
-			<PatternLayout pattern="${sys:CONSOLE_LOG_PATTERN}" />
-		</Console>
-	</Appenders>
-	<Loggers>
-	
-		<!-- silence Wicket -->
-		<Logger name="org.apache.wicket.page.PartialPageUpdate" level="error" />
-	
-		<Logger name="org.apache.catalina.startup.DigesterFactory" level="error" />
-		<Logger name="org.apache.catalina.util.LifecycleBase" level="error" />
-		<Logger name="org.apache.coyote.http11.Http11NioProtocol" level="warn" />
-		<logger name="org.apache.sshd.common.util.SecurityUtils" level="warn"/>
-		<Logger name="org.apache.tomcat.util.net.NioSelectorPool" level="warn" />
-		<Logger name="org.eclipse.jetty.util.component.AbstractLifeCycle" level="error" />
-		<Logger name="org.hibernate.validator.internal.util.Version" level="warn" />
-		<logger name="org.springframework.boot.actuate.endpoint.jmx" level="warn"/>
-		
-		<logger name="org.apache.directory" level="warn"/>
-		<logger name="org.apache.directory.api.ldap.model.entry.Value" level="off"/>
-		
-		<logger name="DataNucleus.Persistence" level="info"/>
-		<logger name="DataNucleus.Transaction" level="info"/>
-		<logger name="DataNucleus.Datastore.Schema" level="info"/>
-		<logger name="DataNucleus.Datastore.Native" level="info"/>
-		
-		<Root level="info">
-			<AppenderRef ref="Console" />
-		</Root>
-	</Loggers>
-</Configuration>
diff --git a/starters/simpleapp/application/src/test/java/domainapp/application/bdd/RunIntegBddSpecs.java b/starters/simpleapp/application/src/test/java/domainapp/application/bdd/RunIntegBddSpecs.java
deleted file mode 100644
index a50b050..0000000
--- a/starters/simpleapp/application/src/test/java/domainapp/application/bdd/RunIntegBddSpecs.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/**
- *  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.
- */
-package domainapp.application.bdd;
-
-import io.cucumber.junit.Cucumber;
-import io.cucumber.junit.CucumberOptions;
-
-import org.junit.runner.RunWith;
-
-
-/**
- * Runs scenarios in all <tt>.feature</tt> files (this package and any subpackages). 
- */
-@RunWith(Cucumber.class)
-@CucumberOptions(
-        plugin = {
-                "html:target/cucumber-html-report"
-                ,"json:target/cucumber.json"
-        },
-        strict = true,
-        tags = { "not @backlog", "not @ignore" },
-        glue = {
-        }
-        )
-public class RunIntegBddSpecs {
-    // intentionally empty 
-}
diff --git a/starters/simpleapp/application/src/test/java/domainapp/application/bdd/glue/SimpleObjectsStepDef.java b/starters/simpleapp/application/src/test/java/domainapp/application/bdd/glue/SimpleObjectsStepDef.java
deleted file mode 100644
index 70efd86..0000000
--- a/starters/simpleapp/application/src/test/java/domainapp/application/bdd/glue/SimpleObjectsStepDef.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- *  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.
- */
-package domainapp.application.bdd.glue;
-
-import java.util.List;
-import java.util.UUID;
-
-import javax.inject.Inject;
-
-import org.junit.Ignore;
-import org.springframework.transaction.PlatformTransactionManager;
-import org.springframework.transaction.support.TransactionTemplate;
-
-import org.apache.isis.extensions.fixtures.fixturescripts.FixtureScripts;
-
-import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.assertThat;
-
-import domainapp.application.fixture.scenarios.DomainAppDemo;
-import domainapp.application.integtests.ApplicationIntegTestAbstract;
-import domainapp.modules.simple.dom.impl.SimpleObject;
-import domainapp.modules.simple.dom.impl.SimpleObjects;
-import domainapp.modules.simple.fixture.SimpleObject_persona;
-import io.cucumber.java.After;
-import io.cucumber.java.Before;
-import io.cucumber.java.en.Given;
-import io.cucumber.java.en.When;
-import lombok.val;
-
-public class SimpleObjectsStepDef extends ApplicationIntegTestAbstract {
-
-    @Given("^there are.* (\\d+) simple objects$")
-    public void there_are_N_simple_objects(int n) throws Throwable {
-        final List<SimpleObject> list = wrap(simpleObjects).listAll();
-        assertThat(list.size(), is(n));
-    }
-
-    @When("^.*create a .*simple object$")
-    public void create_a_simple_object() throws Throwable {
-        wrap(simpleObjects).create(UUID.randomUUID().toString());
-    }
-
-    // -- TRANSACTION ASPECT
-
-    private Runnable afterScenario;
-
-    @Before //TODO is there another way to make scenarios transactional?
-    public void beforeScenario(){
-        val txTemplate = new TransactionTemplate(txMan);
-        val status = txTemplate.getTransactionManager().getTransaction(null);
-        afterScenario = () -> {
-            txTemplate.getTransactionManager().rollback(status);
-        };
-
-		fixtureScripts.runPersonas(
-		        SimpleObject_persona.BANG, 
-		        SimpleObject_persona.BAR, 
-		        SimpleObject_persona.BAZ);
-
-        status.flush();
-    } 
-
-    @After
-    public void afterScenario(){
-        if(afterScenario==null) {
-            return;
-        }
-        afterScenario.run();
-        afterScenario = null;
-    }
-
-
-    // -- DEPENDENCIES
-
-    @Inject protected SimpleObjects simpleObjects;
-    @Inject private FixtureScripts fixtureScripts; 
-    @Inject private PlatformTransactionManager txMan;
-
-    @Before(value="@DomainAppDemo", order=20000)
-    public void runDomainAppDemo() {
-        fixtureScripts.runFixtureScript(new DomainAppDemo(), null); // <1>
-    }
-
-}
diff --git a/starters/simpleapp/application/src/test/java/domainapp/application/bdd/specs/SimpleObjectSpec_listAllAndCreate.feature b/starters/simpleapp/application/src/test/java/domainapp/application/bdd/specs/SimpleObjectSpec_listAllAndCreate.feature
deleted file mode 100644
index 1fb0c83..0000000
--- a/starters/simpleapp/application/src/test/java/domainapp/application/bdd/specs/SimpleObjectSpec_listAllAndCreate.feature
+++ /dev/null
@@ -1,24 +0,0 @@
-#
-#  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.
-#
-Feature: List and Create New Simple Objects
-
-  Scenario: Existing simple objects can be listed and new ones created
-    Given there are initially 3 simple objects
-    When  I create a new simple object
-    Then  there are 4 simple objects
-
-    
\ No newline at end of file
diff --git a/starters/simpleapp/application/src/test/java/domainapp/application/integtests/ApplicationIntegTestAbstract.java b/starters/simpleapp/application/src/test/java/domainapp/application/integtests/ApplicationIntegTestAbstract.java
deleted file mode 100644
index b059ff0..0000000
--- a/starters/simpleapp/application/src/test/java/domainapp/application/integtests/ApplicationIntegTestAbstract.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- *  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.
- */
-package domainapp.application.integtests;
-
-import domainapp.application.ApplicationModule;
-
-import org.apache.isis.config.IsisPresets;
-import org.apache.isis.extensions.fixtures.IsisExtFixturesModule;
-import org.apache.isis.integtestsupport.IsisIntegrationTestAbstract;
-import org.apache.isis.jdo.IsisBootDataNucleus;
-import org.apache.isis.runtime.spring.IsisBoot;
-import org.apache.isis.security.bypass.IsisBootSecurityBypass;
-import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.context.annotation.Import;
-import org.springframework.context.annotation.PropertySource;
-import org.springframework.context.annotation.PropertySources;
-import org.springframework.test.context.ContextConfiguration;
-
-@SpringBootTest(classes = ApplicationIntegTestAbstract.AppManifest.class)
-@ContextConfiguration
-public abstract class ApplicationIntegTestAbstract extends IsisIntegrationTestAbstract {
-
-    @Configuration
-    @PropertySources({
-            @PropertySource(IsisPresets.Log4j2Test),
-            @PropertySource(IsisPresets.H2InMemory_withUniqueSchema),
-            @PropertySource(IsisPresets.NoTranslations),
-            @PropertySource(IsisPresets.DataNucleusAutoCreate),
-    })
-    @Import({
-            IsisBoot.class,
-            IsisBootDataNucleus.class,
-            IsisBootSecurityBypass.class,
-            IsisExtFixturesModule.class,
-            ApplicationModule.class
-    })
-    public static class AppManifest {
-    }
-
-}
diff --git a/starters/simpleapp/application/src/test/java/domainapp/application/integtests/mml/DomainModel_IntegTest.java b/starters/simpleapp/application/src/test/java/domainapp/application/integtests/mml/DomainModel_IntegTest.java
deleted file mode 100644
index 04c1dfa..0000000
--- a/starters/simpleapp/application/src/test/java/domainapp/application/integtests/mml/DomainModel_IntegTest.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- *  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.
- */
-package domainapp.application.integtests.mml;
-
-import javax.inject.Inject;
-
-import org.junit.jupiter.api.Disabled;
-import org.junit.jupiter.api.Test;
-
-import org.apache.isis.integtestsupport.validate.ValidateDomainModel;
-import org.apache.isis.metamodel.specloader.SpecificationLoader;
-
-import domainapp.application.integtests.ApplicationIntegTestAbstract;
-
-class DomainModel_IntegTest extends ApplicationIntegTestAbstract {
-    
-    @Inject protected SpecificationLoader specificationLoader;
-
-    @Test @Disabled("with full introspection in place this test actually throws")
-    void validateDomainModel() {
-        new ValidateDomainModel(specificationLoader).run();
-    }
-
-
-}
\ No newline at end of file
diff --git a/starters/simpleapp/application/src/test/java/domainapp/application/integtests/mml/MetaModelService_IntegTest.java b/starters/simpleapp/application/src/test/java/domainapp/application/integtests/mml/MetaModelService_IntegTest.java
deleted file mode 100644
index 4fc7d4d..0000000
--- a/starters/simpleapp/application/src/test/java/domainapp/application/integtests/mml/MetaModelService_IntegTest.java
+++ /dev/null
@@ -1,145 +0,0 @@
-/*
- *  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.
- */
-package domainapp.application.integtests.mml;
-
-import java.io.File;
-import java.util.List;
-
-import javax.inject.Inject;
-
-import org.approvaltests.namer.StackTraceNamer;
-import org.approvaltests.reporters.DiffReporter;
-import org.approvaltests.reporters.QuietReporter;
-import org.approvaltests.reporters.UseReporter;
-import org.approvaltests.writers.ApprovalTextWriter;
-import org.junit.jupiter.api.Test;
-
-import org.apache.isis.applib.services.jaxb.JaxbService;
-import org.apache.isis.applib.services.metamodel.MetaModelService;
-import org.apache.isis.schema.metamodel.v1.DomainClassDto;
-import org.apache.isis.schema.metamodel.v1.MetamodelDto;
-
-import static org.approvaltests.Approvals.getReporter;
-import static org.approvaltests.Approvals.verify;
-import static org.hamcrest.CoreMatchers.is;
-import static org.hamcrest.CoreMatchers.notNullValue;
-import static org.junit.Assume.assumeThat;
-
-import domainapp.application.integtests.ApplicationIntegTestAbstract;
-
-class MetaModelService_IntegTest extends ApplicationIntegTestAbstract {
-
-    @Inject MetaModelService metaModelService;
-    @Inject JaxbService jaxbService;
-
-    //
-    // learn...
-    //
-    // ... move the resultant files in "received" directory over to "approved".
-    //
-    @UseReporter(QuietReporter.class)
-    @Test
-    void _1_learn() throws Exception {
-
-        assumeThat(System.getProperty("lockdown.learn"), is(notNullValue()));
-
-        // when
-        MetamodelDto metamodelDto =
-                metaModelService.exportMetaModel(
-                        new MetaModelService.Config()
-                        .withIgnoreNoop()
-                        .withIgnoreAbstractClasses()
-                        .withIgnoreBuiltInValueTypes()
-                        .withIgnoreInterfaces()
-                        .withPackagePrefix("domainapp")
-                        );
-
-        // then
-        final List<DomainClassDto> domainClassDto = metamodelDto.getDomainClassDto();
-        for (final DomainClassDto domainClass : domainClassDto) {
-            try {
-                verifyClass(domainClass);
-            } catch (Error e) {
-                //ignore ... learning.
-            }
-        }
-    }
-
-
-    //
-    // verify ...
-    //
-    // ... ie compare the current metamodel to that previously captured.
-    //
-    @UseReporter(DiffReporter.class)
-    @Test
-    void _2_verify() throws Exception {
-
-        assumeThat(System.getProperty("lockdown.verify"), is(notNullValue()));
-
-        // when
-        MetamodelDto metamodelDto =
-                metaModelService.exportMetaModel(
-                        new MetaModelService.Config()
-                        .withIgnoreNoop()
-                        .withIgnoreAbstractClasses()
-                        .withIgnoreBuiltInValueTypes()
-                        .withIgnoreInterfaces()
-                        .withPackagePrefix("domainapp")
-                        );
-
-        // then
-        final List<DomainClassDto> domainClassDto = metamodelDto.getDomainClassDto();
-        for (final DomainClassDto domainClass : domainClassDto) {
-            verifyClass(domainClass);
-        }
-    }
-
-    private void verifyClass(final DomainClassDto domainClass) {
-        String asXml = jaxbService.toXml(domainClass);
-        verify(new ApprovalTextWriter(asXml, "xml"){
-            @Override public String writeReceivedFile(final String received) {
-                return super.writeReceivedFile(received);
-            }
-
-            @Override public String getReceivedFilename(final String base) {
-                return toFilename("received", base);
-            }
-
-            @Override public String getApprovalFilename(final String base) {
-                return toFilename("approved", base);
-            }
-
-            private String toFilename(final String prefix, final String base) {
-                final File file = new File(base);
-                final File parentFile = file.getParentFile();
-                final String localName = file.getName();
-                final File newDir = new File(parentFile, prefix);
-                final File newFile = new File(newDir, localName + ".xml");
-                return newFile.toString();
-            }
-
-        }, new StackTraceNamer() {
-            @Override public String getApprovalName() {
-                return domainClass.getId();
-            }
-        }, getReporter());
-    }
-
-}
\ No newline at end of file
diff --git a/starters/simpleapp/application/src/test/java/domainapp/application/integtests/mml/approved/domainapp.application.fixture.DomainAppFixtureScriptsSpecificationProvider.xml b/starters/simpleapp/application/src/test/java/domainapp/application/integtests/mml/approved/domainapp.application.fixture.DomainAppFixtureScriptsSpecificationProvider.xml
deleted file mode 100644
index 84cfa08..0000000
--- a/starters/simpleapp/application/src/test/java/domainapp/application/integtests/mml/approved/domainapp.application.fixture.DomainAppFixtureScriptsSpecificationProvider.xml
+++ /dev/null
@@ -1,44 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<mml:domainClassDto id="domainapp.application.fixture.DomainAppFixtureScriptsSpecificationProvider" service="true" xmlns:mml="http://isis.apache.org/schema/metamodel">
-    <mml:facets>
-        <mml:facet id="org.apache.isis.metamodel.authorization.standard.AuthorizationFacet" fqcn="org.apache.isis.metamodel.authorization.standard.AuthorizationFacetImpl">
-            <mml:attr name="disabling">true</mml:attr>
-            <mml:attr name="hiding">true</mml:attr>
-        </mml:facet>
-        <mml:facet id="org.apache.isis.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.metamodel.facets.all.named.NamedFacetInferred">
-            <mml:attr name="escaped">true</mml:attr>
-            <mml:attr name="value">Domain App Fixture Scripts Specification Provider</mml:attr>
-        </mml:facet>
-        <mml:facet id="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacet" fqcn="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacetFallback">
-            <mml:attr name="bookmarkPolicy">NEVER</mml:attr>
-        </mml:facet>
-        <mml:facet id="org.apache.isis.metamodel.facets.object.domainservice.DomainServiceFacet" fqcn="org.apache.isis.metamodel.facets.object.domainservice.annotation.DomainServiceFacetAnnotation">
-            <mml:attr name="natureOfService">DOMAIN</mml:attr>
-            <mml:attr name="repositoryFor">java.lang.Object</mml:attr>
-        </mml:facet>
-        <mml:facet id="org.apache.isis.metamodel.facets.object.domainservicelayout.DomainServiceLayoutFacet" fqcn="org.apache.isis.metamodel.facets.object.domainservicelayout.annotation.DomainServiceLayoutFacetAnnotation">
-            <mml:attr name="menuBar">PRIMARY</mml:attr>
-        </mml:facet>
-        <mml:facet id="org.apache.isis.metamodel.facets.object.grid.GridFacet" fqcn="org.apache.isis.metamodel.facets.object.grid.GridFacetDefault"/>
-        <mml:facet id="org.apache.isis.metamodel.facets.object.icon.IconFacet" fqcn="org.apache.isis.metamodel.facets.object.domainservice.annotation.IconFacetDerivedFromDomainServiceAnnotation">
-            <mml:attr name="repositoryFor">java.lang.Object</mml:attr>
-        </mml:facet>
-        <mml:facet id="org.apache.isis.metamodel.facets.object.layout.LayoutFacet" fqcn="org.apache.isis.metamodel.facets.object.layout.LayoutFacetFallback">
-            <mml:attr name="derived">true</mml:attr>
-        </mml:facet>
-        <mml:facet id="org.apache.isis.metamodel.facets.object.objectspecid.ObjectSpecIdFacet" fqcn="org.apache.isis.metamodel.facets.object.objectspecid.classname.ObjectSpecIdFacetDerivedFromIoCNamingStrategy">
-            <mml:attr name="value">domainAppFixtureScriptsSpecificationProvider</mml:attr>
-        </mml:facet>
-        <mml:facet id="org.apache.isis.metamodel.facets.object.objectvalidprops.ObjectValidPropertiesFacet" fqcn="org.apache.isis.metamodel.facets.object.objectvalidprops.impl.ObjectValidPropertiesFacetImpl">
-            <mml:attr name="validating">true</mml:attr>
-        </mml:facet>
-        <mml:facet id="org.apache.isis.metamodel.facets.object.paged.PagedFacet" fqcn="org.apache.isis.metamodel.facets.fallback.PagedFacetFromConfiguration">
-            <mml:attr name="derived">true</mml:attr>
-            <mml:attr name="value">25</mml:attr>
-        </mml:facet>
-        <mml:facet id="org.apache.isis.metamodel.facets.object.plural.PluralFacet" fqcn="org.apache.isis.metamodel.facets.object.plural.inferred.PluralFacetInferred">
-            <mml:attr name="derived">true</mml:attr>
-            <mml:attr name="value">Domain App Fixture Scripts Specification Providers</mml:attr>
-        </mml:facet>
-    </mml:facets>
-</mml:domainClassDto>
diff --git a/starters/simpleapp/application/src/test/java/domainapp/application/integtests/mml/approved/domainapp.application.services.health.HealthCheckServiceImpl.xml b/starters/simpleapp/application/src/test/java/domainapp/application/integtests/mml/approved/domainapp.application.services.health.HealthCheckServiceImpl.xml
deleted file mode 100644
index ec21c6c..0000000
--- a/starters/simpleapp/application/src/test/java/domainapp/application/integtests/mml/approved/domainapp.application.services.health.HealthCheckServiceImpl.xml
+++ /dev/null
@@ -1,44 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<mml:domainClassDto id="domainapp.application.services.health.HealthCheckServiceImpl" service="true" xmlns:mml="http://isis.apache.org/schema/metamodel">
-    <mml:facets>
-        <mml:facet id="org.apache.isis.metamodel.authorization.standard.AuthorizationFacet" fqcn="org.apache.isis.metamodel.authorization.standard.AuthorizationFacetImpl">
-            <mml:attr name="disabling">true</mml:attr>
-            <mml:attr name="hiding">true</mml:attr>
-        </mml:facet>
-        <mml:facet id="org.apache.isis.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.metamodel.facets.all.named.NamedFacetInferred">
-            <mml:attr name="escaped">true</mml:attr>
-            <mml:attr name="value">Health Check Service Impl</mml:attr>
-        </mml:facet>
-        <mml:facet id="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacet" fqcn="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacetFallback">
-            <mml:attr name="bookmarkPolicy">NEVER</mml:attr>
-        </mml:facet>
-        <mml:facet id="org.apache.isis.metamodel.facets.object.domainservice.DomainServiceFacet" fqcn="org.apache.isis.metamodel.facets.object.domainservice.annotation.DomainServiceFacetAnnotation">
-            <mml:attr name="natureOfService">DOMAIN</mml:attr>
-            <mml:attr name="repositoryFor">java.lang.Object</mml:attr>
-        </mml:facet>
-        <mml:facet id="org.apache.isis.metamodel.facets.object.domainservicelayout.DomainServiceLayoutFacet" fqcn="org.apache.isis.metamodel.facets.object.domainservicelayout.annotation.DomainServiceLayoutFacetAnnotation">
-            <mml:attr name="menuBar">PRIMARY</mml:attr>
-        </mml:facet>
-        <mml:facet id="org.apache.isis.metamodel.facets.object.grid.GridFacet" fqcn="org.apache.isis.metamodel.facets.object.grid.GridFacetDefault"/>
-        <mml:facet id="org.apache.isis.metamodel.facets.object.icon.IconFacet" fqcn="org.apache.isis.metamodel.facets.object.domainservice.annotation.IconFacetDerivedFromDomainServiceAnnotation">
-            <mml:attr name="repositoryFor">java.lang.Object</mml:attr>
-        </mml:facet>
-        <mml:facet id="org.apache.isis.metamodel.facets.object.layout.LayoutFacet" fqcn="org.apache.isis.metamodel.facets.object.layout.LayoutFacetFallback">
-            <mml:attr name="derived">true</mml:attr>
-        </mml:facet>
-        <mml:facet id="org.apache.isis.metamodel.facets.object.objectspecid.ObjectSpecIdFacet" fqcn="org.apache.isis.metamodel.facets.object.objectspecid.classname.ObjectSpecIdFacetDerivedFromIoCNamingStrategy">
-            <mml:attr name="value">healthCheckServiceImpl</mml:attr>
-        </mml:facet>
-        <mml:facet id="org.apache.isis.metamodel.facets.object.objectvalidprops.ObjectValidPropertiesFacet" fqcn="org.apache.isis.metamodel.facets.object.objectvalidprops.impl.ObjectValidPropertiesFacetImpl">
-            <mml:attr name="validating">true</mml:attr>
-        </mml:facet>
-        <mml:facet id="org.apache.isis.metamodel.facets.object.paged.PagedFacet" fqcn="org.apache.isis.metamodel.facets.fallback.PagedFacetFromConfiguration">
-            <mml:attr name="derived">true</mml:attr>
-            <mml:attr name="value">25</mml:attr>
-        </mml:facet>
-        <mml:facet id="org.apache.isis.metamodel.facets.object.plural.PluralFacet" fqcn="org.apache.isis.metamodel.facets.object.plural.inferred.PluralFacetInferred">
-            <mml:attr name="derived">true</mml:attr>
-            <mml:attr name="value">Health Check Service Impls</mml:attr>
-        </mml:facet>
-    </mml:facets>
-</mml:domainClassDto>
diff --git a/starters/simpleapp/application/src/test/java/domainapp/application/integtests/mml/approved/domainapp.application.services.homepage.HomePageViewModel.xml b/starters/simpleapp/application/src/test/java/domainapp/application/integtests/mml/approved/domainapp.application.services.homepage.HomePageViewModel.xml
deleted file mode 100644
index 867f66a..0000000
--- a/starters/simpleapp/application/src/test/java/domainapp/application/integtests/mml/approved/domainapp.application.services.homepage.HomePageViewModel.xml
+++ /dev/null
@@ -1,617 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<mml:domainClassDto id="domainapp.application.services.homepage.HomePageViewModel" xmlns:mml="http://isis.apache.org/schema/metamodel">
-    <mml:facets>
-        <mml:facet id="org.apache.isis.metamodel.authorization.standard.AuthorizationFacet" fqcn="org.apache.isis.metamodel.authorization.standard.AuthorizationFacetImpl">
-            <mml:attr name="disabling">true</mml:attr>
-            <mml:attr name="hiding">true</mml:attr>
-        </mml:facet>
-        <mml:facet id="org.apache.isis.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.metamodel.facets.all.named.NamedFacetInferred">
-            <mml:attr name="escaped">true</mml:attr>
-            <mml:attr name="value">Home Page View Model</mml:attr>
-        </mml:facet>
-        <mml:facet id="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacet" fqcn="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacetFallback">
-            <mml:attr name="bookmarkPolicy">NEVER</mml:attr>
-        </mml:facet>
-        <mml:facet id="org.apache.isis.metamodel.facets.object.callbacks.CreatedLifecycleEventFacet" fqcn="org.apache.isis.metamodel.facets.object.callbacks.CreatedLifecycleEventFacetForDomainObjectAnnotation">
-            <mml:attr name="value">org.apache.isis.applib.events.lifecycle.ObjectCreatedEvent.Default</mml:attr>
-        </mml:facet>
-        <mml:facet id="org.apache.isis.metamodel.facets.object.callbacks.LoadedLifecycleEventFacet" fqcn="org.apache.isis.metamodel.facets.object.callbacks.LoadedLifecycleEventFacetForDomainObjectAnnotation">
-            <mml:attr name="value">org.apache.isis.applib.events.lifecycle.ObjectLoadedEvent.Default</mml:attr>
-        </mml:facet>
-        <mml:facet id="org.apache.isis.metamodel.facets.object.callbacks.PersistedLifecycleEventFacet" fqcn="org.apache.isis.metamodel.facets.object.callbacks.PersistedLifecycleEventFacetForDomainObjectAnnotation">
-            <mml:attr name="value">org.apache.isis.applib.events.lifecycle.ObjectPersistedEvent.Default</mml:attr>
-        </mml:facet>
-        <mml:facet id="org.apache.isis.metamodel.facets.object.callbacks.PersistingLifecycleEventFacet" fqcn="org.apache.isis.metamodel.facets.object.callbacks.PersistingLifecycleEventFacetForDomainObjectAnnotation">
-            <mml:attr name="value">org.apache.isis.applib.events.lifecycle.ObjectPersistingEvent.Default</mml:attr>
-        </mml:facet>
-        <mml:facet id="org.apache.isis.metamodel.facets.object.callbacks.RemovingLifecycleEventFacet" fqcn="org.apache.isis.metamodel.facets.object.callbacks.RemovingLifecycleEventFacetForDomainObjectAnnotation">
-            <mml:attr name="value">org.apache.isis.applib.events.lifecycle.ObjectRemovingEvent.Default</mml:attr>
-        </mml:facet>
-        <mml:facet id="org.apache.isis.metamodel.facets.object.callbacks.UpdatedLifecycleEventFacet" fqcn="org.apache.isis.metamodel.facets.object.callbacks.UpdatedLifecycleEventFacetForDomainObjectAnnotation">
-            <mml:attr name="value">org.apache.isis.applib.events.lifecycle.ObjectUpdatedEvent.Default</mml:attr>
-        </mml:facet>
-        <mml:facet id="org.apache.isis.metamodel.facets.object.callbacks.UpdatingLifecycleEventFacet" fqcn="org.apache.isis.metamodel.facets.object.callbacks.UpdatingLifecycleEventFacetForDomainObjectAnnotation">
-            <mml:attr name="value">org.apache.isis.applib.events.lifecycle.ObjectUpdatingEvent.Default</mml:attr>
-        </mml:facet>
-        <mml:facet id="org.apache.isis.metamodel.facets.object.grid.GridFacet" fqcn="org.apache.isis.metamodel.facets.object.grid.GridFacetDefault"/>
-        <mml:facet id="org.apache.isis.metamodel.facets.object.layout.LayoutFacet" fqcn="org.apache.isis.metamodel.facets.object.layout.LayoutFacetFallback">
-            <mml:attr name="derived">true</mml:attr>
-        </mml:facet>
-        <mml:facet id="org.apache.isis.metamodel.facets.object.objectspecid.ObjectSpecIdFacet" fqcn="org.apache.isis.metamodel.facets.object.domainobject.objectspecid.ObjectSpecIdFacetForDomainObjectAnnotation">
-            <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.object.objectspecid.classname.ObjectSpecIdFacetDerivedFromClassName</mml:attr>
-            <mml:attr name="value">domainapp.application.services.homepage.HomePageViewModel</mml:attr>
-        </mml:facet>
-        <mml:facet id="org.apache.isis.metamodel.facets.object.objectvalidprops.ObjectValidPropertiesFacet" fqcn="org.apache.isis.metamodel.facets.object.objectvalidprops.impl.ObjectValidPropertiesFacetImpl">
-            <mml:attr name="validating">true</mml:attr>
-        </mml:facet>
-        <mml:facet id="org.apache.isis.metamodel.facets.object.paged.PagedFacet" fqcn="org.apache.isis.metamodel.facets.fallback.PagedFacetFromConfiguration">
-            <mml:attr name="derived">true</mml:attr>
-            <mml:attr name="value">25</mml:attr>
-        </mml:facet>
-        <mml:facet id="org.apache.isis.metamodel.facets.object.plural.PluralFacet" fqcn="org.apache.isis.metamodel.facets.object.plural.inferred.PluralFacetInferred">
-            <mml:attr name="derived">true</mml:attr>
-            <mml:attr name="value">Home Page View Models</mml:attr>
-        </mml:facet>
-        <mml:facet id="org.apache.isis.metamodel.facets.object.title.TitleFacet" fqcn="org.apache.isis.metamodel.facets.object.title.methods.TitleFacetViaTitleMethod">
-            <mml:attr name="intent.title">UI_HINT</mml:attr>
-            <mml:attr name="methods">public org.apache.isis.applib.services.i18n.TranslatableString domainapp.application.services.homepage.HomePageViewModel.title()</mml:attr>
-        </mml:facet>
-        <mml:facet id="org.apache.isis.metamodel.facets.object.viewmodel.ViewModelFacet" fqcn="org.apache.isis.metamodel.facets.object.domainobject.recreatable.RecreatableObjectFacetForDomainObjectAnnotation">
-            <mml:attr name="recreationMechanism">INITIALIZES</mml:attr>
-        </mml:facet>
-    </mml:facets>
-    <mml:properties>
-        <mml:prop id="objectIdentifier">
-            <mml:facets>
-                <mml:facet id="org.apache.isis.metamodel.authorization.standard.AuthorizationFacet" fqcn="org.apache.isis.metamodel.authorization.standard.AuthorizationFacetImpl">
-                    <mml:attr name="disabling">true</mml:attr>
-                    <mml:attr name="hiding">true</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.action.invocation.ActionDomainEventFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.invocation.ActionDomainEventFacetForActionAnnotation">
-                    <mml:attr name="disabling">true</mml:attr>
-                    <mml:attr name="hiding">true</mml:attr>
-                    <mml:attr name="validating">true</mml:attr>
-                    <mml:attr name="value">org.apache.isis.applib.mixins.metamodel.Object_objectIdentifier.ActionDomainEvent</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.action.invocation.ActionInvocationFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.invocation.ActionInvocationFacetForDomainEventFromActionAnnotation">
-                    <mml:attr name="eventType">org.apache.isis.applib.mixins.metamodel.Object_objectIdentifier.ActionDomainEvent</mml:attr>
-                    <mml:attr name="intent.prop">EXECUTE</mml:attr>
-                    <mml:attr name="methods">public java.lang.String org.apache.isis.applib.mixins.metamodel.Object_objectIdentifier.prop()</mml:attr>
-                    <mml:attr name="onType">org.apache.isis.applib.mixins.metamodel.Object_objectIdentifier</mml:attr>
-                    <mml:attr name="returnType">java.lang.String</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.notcontributed.NotContributedFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.NotContributedFacetForActionLayoutAnnotation">
-                    <mml:attr name="contributed">AS_ASSOCIATION</mml:attr>
-                    <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.actions.notcontributed.derived.NotContributedFacetDerivedFromMixinFacet</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.position.ActionPositionFacet" fqcn="org.apache.isis.metamodel.facets.actions.position.ActionPositionFacetFallback">
-                    <mml:attr name="position">BELOW</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.redirect.RedirectFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.RedirectFacetFromActionLayoutAnnotation">
-                    <mml:attr name="redirect">AS_CONFIGURED</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.semantics.ActionSemanticsFacet">
-                    <mml:attr name="value">SAFE</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.all.describedas.DescribedAsFacet" fqcn="org.apache.isis.metamodel.facets.members.describedas.annotprop.DescribedAsFacetOnMemberDerivedFromType"/>
-                <mml:facet id="org.apache.isis.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.metamodel.facets.all.i18n.NamedFacetTranslated">
-                    <mml:attr name="context">domainapp.application.services.homepage.HomePageViewModel#objectIdentifier()</mml:attr>
-                    <mml:attr name="originalText">Object Identifier</mml:attr>
-                    <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.all.named.NamedFacetInferred</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.collections.collection.defaultview.DefaultViewFacet" fqcn="org.apache.isis.metamodel.facets.collections.layout.DefaultViewFacetForCollectionLayoutAnnotation">
-                    <mml:attr name="value">hidden</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.members.disabled.DisabledFacet" fqcn="org.apache.isis.metamodel.facets.members.disabled.DisabledFacetForContributee">
-                    <mml:attr name="disabling">true</mml:attr>
-                    <mml:attr name="inverted">false</mml:attr>
-                    <mml:attr name="reason">Contributed property</mml:attr>
-                    <mml:attr name="semantics">DISABLED</mml:attr>
-                    <mml:attr name="where">ANYWHERE</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.members.hidden.HiddenFacetAbstract" fqcn="org.apache.isis.metamodel.facets.actions.layout.HiddenFacetForActionLayoutAnnotation">
-                    <mml:attr name="hiding">true</mml:attr>
-                    <mml:attr name="where">ALL_TABLES</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.members.order.MemberOrderFacet" fqcn="org.apache.isis.metamodel.facets.members.order.annotprop.MemberOrderFacetAnnotation">
-                    <mml:attr name="name">metadata</mml:attr>
-                    <mml:attr name="originalName">metadata</mml:attr>
-                    <mml:attr name="sequence">700.2</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacet" fqcn="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacetFallback">
-                    <mml:attr name="bookmarkPolicy">NEVER</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacet" fqcn="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacetAsConfigured">
-                    <mml:attr name="promptStyle">INLINE</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.propcoll.notpersisted.NotPersistedFacet"/>
-                <mml:facet id="org.apache.isis.metamodel.facets.properties.property.modify.PropertyDomainEventFacet" fqcn="org.apache.isis.metamodel.facets.properties.property.modify.PropertyDomainEventFacetForPropertyAnnotation">
-                    <mml:attr name="disabling">true</mml:attr>
-                    <mml:attr name="hiding">true</mml:attr>
-                    <mml:attr name="validating">true</mml:attr>
-                    <mml:attr name="value">org.apache.isis.applib.events.domain.PropertyDomainEvent.Default</mml:attr>
-                </mml:facet>
-            </mml:facets>
-            <mml:type>java.lang.String</mml:type>
-        </mml:prop>
-        <mml:prop id="objectType">
-            <mml:facets>
-                <mml:facet id="org.apache.isis.metamodel.authorization.standard.AuthorizationFacet" fqcn="org.apache.isis.metamodel.authorization.standard.AuthorizationFacetImpl">
-                    <mml:attr name="disabling">true</mml:attr>
-                    <mml:attr name="hiding">true</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.action.invocation.ActionDomainEventFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.invocation.ActionDomainEventFacetForActionAnnotation">
-                    <mml:attr name="disabling">true</mml:attr>
-                    <mml:attr name="hiding">true</mml:attr>
-                    <mml:attr name="validating">true</mml:attr>
-                    <mml:attr name="value">org.apache.isis.applib.mixins.metamodel.Object_objectType.ActionDomainEvent</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.action.invocation.ActionInvocationFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.invocation.ActionInvocationFacetForDomainEventFromActionAnnotation">
-                    <mml:attr name="eventType">org.apache.isis.applib.mixins.metamodel.Object_objectType.ActionDomainEvent</mml:attr>
-                    <mml:attr name="intent.prop">EXECUTE</mml:attr>
-                    <mml:attr name="methods">public java.lang.String org.apache.isis.applib.mixins.metamodel.Object_objectType.prop()</mml:attr>
-                    <mml:attr name="onType">org.apache.isis.applib.mixins.metamodel.Object_objectType</mml:attr>
-                    <mml:attr name="returnType">java.lang.String</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.notcontributed.NotContributedFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.NotContributedFacetForActionLayoutAnnotation">
-                    <mml:attr name="contributed">AS_ASSOCIATION</mml:attr>
-                    <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.actions.notcontributed.derived.NotContributedFacetDerivedFromMixinFacet</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.position.ActionPositionFacet" fqcn="org.apache.isis.metamodel.facets.actions.position.ActionPositionFacetFallback">
-                    <mml:attr name="position">BELOW</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.redirect.RedirectFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.RedirectFacetFromActionLayoutAnnotation">
-                    <mml:attr name="redirect">AS_CONFIGURED</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.semantics.ActionSemanticsFacet">
-                    <mml:attr name="value">SAFE</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.all.describedas.DescribedAsFacet" fqcn="org.apache.isis.metamodel.facets.members.describedas.annotprop.DescribedAsFacetOnMemberDerivedFromType"/>
-                <mml:facet id="org.apache.isis.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.metamodel.facets.all.i18n.NamedFacetTranslated">
-                    <mml:attr name="context">domainapp.application.services.homepage.HomePageViewModel#objectType()</mml:attr>
-                    <mml:attr name="originalText">Object Type</mml:attr>
-                    <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.all.named.NamedFacetInferred</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.collections.collection.defaultview.DefaultViewFacet" fqcn="org.apache.isis.metamodel.facets.collections.layout.DefaultViewFacetForCollectionLayoutAnnotation">
-                    <mml:attr name="value">hidden</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.members.disabled.DisabledFacet" fqcn="org.apache.isis.metamodel.facets.members.disabled.DisabledFacetForContributee">
-                    <mml:attr name="disabling">true</mml:attr>
-                    <mml:attr name="inverted">false</mml:attr>
-                    <mml:attr name="reason">Contributed property</mml:attr>
-                    <mml:attr name="semantics">DISABLED</mml:attr>
-                    <mml:attr name="where">ANYWHERE</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.members.hidden.HiddenFacetAbstract" fqcn="org.apache.isis.metamodel.facets.actions.layout.HiddenFacetForActionLayoutAnnotation">
-                    <mml:attr name="hiding">true</mml:attr>
-                    <mml:attr name="where">ALL_TABLES</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.members.order.MemberOrderFacet" fqcn="org.apache.isis.metamodel.facets.members.order.annotprop.MemberOrderFacetAnnotation">
-                    <mml:attr name="name">metadata</mml:attr>
-                    <mml:attr name="originalName">metadata</mml:attr>
-                    <mml:attr name="sequence">700.1</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacet" fqcn="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacetFallback">
-                    <mml:attr name="bookmarkPolicy">NEVER</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacet" fqcn="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacetAsConfigured">
-                    <mml:attr name="promptStyle">INLINE</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.propcoll.notpersisted.NotPersistedFacet"/>
-                <mml:facet id="org.apache.isis.metamodel.facets.properties.property.modify.PropertyDomainEventFacet" fqcn="org.apache.isis.metamodel.facets.properties.property.modify.PropertyDomainEventFacetForPropertyAnnotation">
-                    <mml:attr name="disabling">true</mml:attr>
-                    <mml:attr name="hiding">true</mml:attr>
-                    <mml:attr name="validating">true</mml:attr>
-                    <mml:attr name="value">org.apache.isis.applib.events.domain.PropertyDomainEvent.Default</mml:attr>
-                </mml:facet>
-            </mml:facets>
-            <mml:type>java.lang.String</mml:type>
-        </mml:prop>
-    </mml:properties>
-    <mml:collections>
-        <mml:coll id="objects">
-            <mml:facets>
-                <mml:facet id="org.apache.isis.metamodel.authorization.standard.AuthorizationFacet" fqcn="org.apache.isis.metamodel.authorization.standard.AuthorizationFacetImpl">
-                    <mml:attr name="disabling">true</mml:attr>
-                    <mml:attr name="hiding">true</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actcoll.typeof.TypeOfFacet" fqcn="org.apache.isis.metamodel.facets.actcoll.typeof.TypeOfFacetInferredFromGenerics">
-                    <mml:attr name="value">domainapp.modules.simple.dom.impl.SimpleObject</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.all.describedas.DescribedAsFacet" fqcn="org.apache.isis.metamodel.facets.members.describedas.annotprop.DescribedAsFacetOnMemberDerivedFromType"/>
-                <mml:facet id="org.apache.isis.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.metamodel.facets.all.i18n.NamedFacetTranslated">
-                    <mml:attr name="context">domainapp.application.services.homepage.HomePageViewModel#objects</mml:attr>
-                    <mml:attr name="originalText">Objects</mml:attr>
-                    <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.fallback.NamedFacetDefault</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.collections.collection.defaultview.DefaultViewFacet" fqcn="org.apache.isis.metamodel.facets.collections.layout.DefaultViewFacetForCollectionLayoutAnnotation">
-                    <mml:attr name="value">hidden</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.collections.collection.modify.CollectionDomainEventFacet" fqcn="org.apache.isis.metamodel.facets.collections.collection.modify.CollectionDomainEventFacetDefault">
-                    <mml:attr name="disabling">true</mml:attr>
-                    <mml:attr name="hiding">true</mml:attr>
-                    <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.collections.collection.modify.CollectionDomainEventFacetDefault</mml:attr>
-                    <mml:attr name="validating">true</mml:attr>
-                    <mml:attr name="value">org.apache.isis.applib.events.domain.CollectionDomainEvent.Default</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.collections.modify.CollectionAddToFacet" fqcn="org.apache.isis.metamodel.facets.collections.collection.modify.CollectionAddToFacetForDomainEventFromDefault">
-                    <mml:attr name="collectionAddToFacet">org.apache.isis.metamodel.facets.collections.modify.CollectionAddToFacetViaAccessor</mml:attr>
-                    <mml:attr name="getterFacet">org.apache.isis.metamodel.facets.collections.accessor.CollectionAccessorFacetViaAccessor</mml:attr>
-                    <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.collections.modify.CollectionAddToFacetViaAccessor</mml:attr>
-                    <mml:attr name="value">org.apache.isis.applib.events.domain.CollectionDomainEvent.Default</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.collections.modify.CollectionClearFacet" fqcn="org.apache.isis.metamodel.facets.collections.clear.CollectionClearFacetViaAccessor">
-                    <mml:attr name="intent.getObjects">ACCESSOR</mml:attr>
-                    <mml:attr name="methods">public java.util.List&lt;domainapp.modules.simple.dom.impl.SimpleObject&gt; domainapp.application.services.homepage.HomePageViewModel.getObjects()</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.collections.modify.CollectionRemoveFromFacet" fqcn="org.apache.isis.metamodel.facets.collections.collection.modify.CollectionRemoveFromFacetForDomainEventFromDefault">
-                    <mml:attr name="collectionRemoveFromFacet">org.apache.isis.metamodel.facets.collections.modify.CollectionRemoveFromFacetViaAccessor</mml:attr>
-                    <mml:attr name="getterFacet">org.apache.isis.metamodel.facets.collections.accessor.CollectionAccessorFacetViaAccessor</mml:attr>
-                    <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.collections.modify.CollectionRemoveFromFacetViaAccessor</mml:attr>
-                    <mml:attr name="value">org.apache.isis.applib.events.domain.CollectionDomainEvent.Default</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.collparam.semantics.CollectionSemanticsFacet" fqcn="org.apache.isis.metamodel.facets.collparam.semantics.CollectionSemanticsFacetDefault">
-                    <mml:attr name="value">LIST_INTERFACE</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.object.paged.PagedFacet" fqcn="org.apache.isis.metamodel.facets.fallback.PagedFacetFromConfiguration">
-                    <mml:attr name="derived">true</mml:attr>
-                    <mml:attr name="value">12</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.object.recreatable.DisabledFacetOnCollectionDerivedFromRecreatableObject" fqcn="org.apache.isis.metamodel.facets.object.recreatable.DisabledFacetOnCollectionDerivedFromRecreatableObject">
-                    <mml:attr name="disabling">true</mml:attr>
-                    <mml:attr name="inverted">false</mml:attr>
-                    <mml:attr name="semantics">DISABLED</mml:attr>
-                    <mml:attr name="where">ANYWHERE</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.propcoll.accessor.PropertyOrCollectionAccessorFacet" fqcn="org.apache.isis.metamodel.facets.collections.accessor.CollectionAccessorFacetViaAccessor">
-                    <mml:attr name="intent.getObjects">ACCESSOR</mml:attr>
-                    <mml:attr name="methods">public java.util.List&lt;domainapp.modules.simple.dom.impl.SimpleObject&gt; domainapp.application.services.homepage.HomePageViewModel.getObjects()</mml:attr>
-                    <mml:attr name="onType">domainapp.application.services.homepage.HomePageViewModel</mml:attr>
-                </mml:facet>
-            </mml:facets>
-            <mml:type>domainapp.modules.simple.dom.impl.SimpleObject</mml:type>
-        </mml:coll>
-    </mml:collections>
-    <mml:actions>
-        <mml:act id="downloadLayoutXml">
-            <mml:facets>
-                <mml:facet id="org.apache.isis.metamodel.authorization.standard.AuthorizationFacet" fqcn="org.apache.isis.metamodel.authorization.standard.AuthorizationFacetImpl">
-                    <mml:attr name="disabling">true</mml:attr>
-                    <mml:attr name="hiding">true</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.action.invocation.ActionDomainEventFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.invocation.ActionDomainEventFacetForActionAnnotation">
-                    <mml:attr name="disabling">true</mml:attr>
-                    <mml:attr name="hiding">true</mml:attr>
-                    <mml:attr name="validating">true</mml:attr>
-                    <mml:attr name="value">org.apache.isis.applib.mixins.layout.Object_downloadLayoutXml.ActionDomainEvent</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.action.invocation.ActionInvocationFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.invocation.ActionInvocationFacetForDomainEventFromActionAnnotation">
-                    <mml:attr name="eventType">org.apache.isis.applib.mixins.layout.Object_downloadLayoutXml.ActionDomainEvent</mml:attr>
-                    <mml:attr name="intent.act">EXECUTE</mml:attr>
-                    <mml:attr name="methods">public java.lang.Object org.apache.isis.applib.mixins.layout.Object_downloadLayoutXml.act(java.lang.String,org.apache.isis.applib.services.layout.LayoutService$Style)</mml:attr>
-                    <mml:attr name="onType">org.apache.isis.applib.mixins.layout.Object_downloadLayoutXml</mml:attr>
-                    <mml:attr name="returnType">java.lang.Object</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.notcontributed.NotContributedFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.NotContributedFacetForActionLayoutAnnotation">
-                    <mml:attr name="contributed">AS_ACTION</mml:attr>
-                    <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.actions.notcontributed.derived.NotContributedFacetDerivedFromMixinFacet</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.position.ActionPositionFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.ActionPositionFacetForActionLayoutAnnotation">
-                    <mml:attr name="position">PANEL_DROPDOWN</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.prototype.PrototypeFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.prototype.PrototypeFacetForActionAnnotation">
-                    <mml:attr name="deploymentType">PRODUCTION</mml:attr>
-                    <mml:attr name="hiding">true</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.redirect.RedirectFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.RedirectFacetFromActionLayoutAnnotation">
-                    <mml:attr name="redirect">AS_CONFIGURED</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.semantics.ActionSemanticsFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.semantics.ActionSemanticsFacetForActionAnnotation">
-                    <mml:attr name="value">SAFE</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.all.describedas.DescribedAsFacet" fqcn="org.apache.isis.metamodel.facets.members.describedas.annotprop.DescribedAsFacetOnMemberDerivedFromType"/>
-                <mml:facet id="org.apache.isis.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.metamodel.facets.all.i18n.NamedFacetTranslated">
-                    <mml:attr name="context">domainapp.application.services.homepage.HomePageViewModel#downloadLayoutXml()</mml:attr>
-                    <mml:attr name="originalText">Download Layout Xml</mml:attr>
-                    <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.all.named.NamedFacetInferred</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.collections.collection.defaultview.DefaultViewFacet" fqcn="org.apache.isis.metamodel.facets.collections.layout.DefaultViewFacetForCollectionLayoutAnnotation">
-                    <mml:attr name="value">hidden</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.members.cssclassfa.CssClassFaFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.CssClassFaFacetForActionLayoutAnnotation">
-                    <mml:attr name="position">LEFT</mml:attr>
-                    <mml:attr name="value">fa fa-fw fa-download</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.members.order.MemberOrderFacet" fqcn="org.apache.isis.metamodel.facets.members.order.annotprop.MemberOrderFacetAnnotation">
-                    <mml:attr name="name">metadata</mml:attr>
-                    <mml:attr name="originalName">metadata</mml:attr>
-                    <mml:attr name="sequence">700.1</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacet" fqcn="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacetFallback">
-                    <mml:attr name="bookmarkPolicy">NEVER</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacet" fqcn="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacetAsConfigured">
-                    <mml:attr name="promptStyle">INLINE</mml:attr>
-                </mml:facet>
-            </mml:facets>
-            <mml:returnType>java.lang.Object</mml:returnType>
-            <mml:params>
-                <mml:param xsi:type="mml:scalarParam" id="fileName" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-                    <mml:facets>
-                        <mml:facet id="org.apache.isis.metamodel.facets.all.describedas.DescribedAsFacet" fqcn="org.apache.isis.metamodel.facets.all.i18n.DescribedAsFacetTranslated">
-                            <mml:attr name="context">org.apache.isis.applib.mixins.layout.Object_downloadLayoutXml#act(java.lang.String,org.apache.isis.applib.services.layout.LayoutService$Style)</mml:attr>
-                            <mml:attr name="originalText">File name extension can be omitted.</mml:attr>
-                            <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.param.layout.DescribedAsFacetForParameterLayoutAnnotation</mml:attr>
-                        </mml:facet>
-                        <mml:facet id="org.apache.isis.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.metamodel.facets.all.i18n.NamedFacetTranslated">
-                            <mml:attr name="context">org.apache.isis.applib.mixins.layout.Object_downloadLayoutXml#act(java.lang.String,org.apache.isis.applib.services.layout.LayoutService$Style)</mml:attr>
-                            <mml:attr name="originalText">File name</mml:attr>
-                            <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.param.layout.NamedFacetForParameterLayoutAnnotation</mml:attr>
-                        </mml:facet>
-                        <mml:facet id="org.apache.isis.metamodel.facets.objectvalue.labelat.LabelAtFacet" fqcn="org.apache.isis.metamodel.facets.fallback.LabelAtFacetFromLayoutConfiguration">
-                            <mml:attr name="label">NOT_SPECIFIED</mml:attr>
-                            <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.fallback.LabelAtFacetFromLayoutConfiguration</mml:attr>
-                        </mml:facet>
-                        <mml:facet id="org.apache.isis.metamodel.facets.objectvalue.mandatory.MandatoryFacet" fqcn="org.apache.isis.metamodel.facets.objectvalue.mandatory.MandatoryFacetDefault">
-                            <mml:attr name="inverted">false</mml:attr>
-                            <mml:attr name="semantics">REQUIRED</mml:attr>
-                            <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.objectvalue.mandatory.MandatoryFacetDefault</mml:attr>
-                            <mml:attr name="validating">true</mml:attr>
-                        </mml:facet>
-                        <mml:facet id="org.apache.isis.metamodel.facets.param.defaults.ActionParameterDefaultsFacet" fqcn="org.apache.isis.metamodel.facets.param.defaults.methodnum.ActionParameterDefaultsFacetViaMethod">
-                            <mml:attr name="intent.default0Act">DEFAULTS</mml:attr>
-                            <mml:attr name="methods">public java.lang.String org.apache.isis.applib.mixins.layout.Object_downloadLayoutXml.default0Act()</mml:attr>
-                        </mml:facet>
-                    </mml:facets>
-                    <mml:type>java.lang.String</mml:type>
-                </mml:param>
-                <mml:param xsi:type="mml:scalarParam" id="style" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-                    <mml:facets>
-                        <mml:facet id="org.apache.isis.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.metamodel.facets.all.i18n.NamedFacetTranslated">
-                            <mml:attr name="context">org.apache.isis.applib.mixins.layout.Object_downloadLayoutXml#act(java.lang.String,org.apache.isis.applib.services.layout.LayoutService$Style)</mml:attr>
-                            <mml:attr name="originalText">Style</mml:attr>
-                            <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.param.name.NamedFacetForParameterUsingReflection</mml:attr>
-                        </mml:facet>
-                        <mml:facet id="org.apache.isis.metamodel.facets.objectvalue.labelat.LabelAtFacet" fqcn="org.apache.isis.metamodel.facets.fallback.LabelAtFacetFromLayoutConfiguration">
-                            <mml:attr name="label">NOT_SPECIFIED</mml:attr>
-                            <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.fallback.LabelAtFacetFromLayoutConfiguration</mml:attr>
-                        </mml:facet>
-                        <mml:facet id="org.apache.isis.metamodel.facets.objectvalue.mandatory.MandatoryFacet" fqcn="org.apache.isis.metamodel.facets.objectvalue.mandatory.MandatoryFacetDefault">
-                            <mml:attr name="inverted">false</mml:attr>
-                            <mml:attr name="semantics">REQUIRED</mml:attr>
-                            <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.objectvalue.mandatory.MandatoryFacetDefault</mml:attr>
-                            <mml:attr name="validating">true</mml:attr>
-                        </mml:facet>
-                        <mml:facet id="org.apache.isis.metamodel.facets.param.defaults.ActionParameterDefaultsFacet" fqcn="org.apache.isis.metamodel.facets.param.defaults.methodnum.ActionParameterDefaultsFacetViaMethod">
-                            <mml:attr name="intent.default1Act">DEFAULTS</mml:attr>
-                            <mml:attr name="methods">public org.apache.isis.applib.services.layout.LayoutService$Style org.apache.isis.applib.mixins.layout.Object_downloadLayoutXml.default1Act()</mml:attr>
-                        </mml:facet>
-                    </mml:facets>
-                    <mml:type>org.apache.isis.applib.services.layout.LayoutService$Style</mml:type>
-                </mml:param>
-            </mml:params>
-        </mml:act>
-        <mml:act id="downloadMetaModelXml">
-            <mml:facets>
-                <mml:facet id="org.apache.isis.metamodel.authorization.standard.AuthorizationFacet" fqcn="org.apache.isis.metamodel.authorization.standard.AuthorizationFacetImpl">
-                    <mml:attr name="disabling">true</mml:attr>
-                    <mml:attr name="hiding">true</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.action.invocation.ActionDomainEventFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.invocation.ActionDomainEventFacetForActionAnnotation">
-                    <mml:attr name="disabling">true</mml:attr>
-                    <mml:attr name="hiding">true</mml:attr>
-                    <mml:attr name="validating">true</mml:attr>
-                    <mml:attr name="value">org.apache.isis.applib.mixins.metamodel.Object_downloadMetaModelXml.ActionDomainEvent</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.action.invocation.ActionInvocationFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.invocation.ActionInvocationFacetForDomainEventFromActionAnnotation">
-                    <mml:attr name="eventType">org.apache.isis.applib.mixins.metamodel.Object_downloadMetaModelXml.ActionDomainEvent</mml:attr>
-                    <mml:attr name="intent.act">EXECUTE</mml:attr>
-                    <mml:attr name="methods">public java.lang.Object org.apache.isis.applib.mixins.metamodel.Object_downloadMetaModelXml.act(java.lang.String)</mml:attr>
-                    <mml:attr name="onType">org.apache.isis.applib.mixins.metamodel.Object_downloadMetaModelXml</mml:attr>
-                    <mml:attr name="returnType">java.lang.Object</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.notcontributed.NotContributedFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.NotContributedFacetForActionLayoutAnnotation">
-                    <mml:attr name="contributed">AS_ACTION</mml:attr>
-                    <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.actions.notcontributed.derived.NotContributedFacetDerivedFromMixinFacet</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.position.ActionPositionFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.ActionPositionFacetForActionLayoutAnnotation">
-                    <mml:attr name="position">PANEL_DROPDOWN</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.prototype.PrototypeFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.prototype.PrototypeFacetForActionAnnotation">
-                    <mml:attr name="deploymentType">PRODUCTION</mml:attr>
-                    <mml:attr name="hiding">true</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.redirect.RedirectFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.RedirectFacetFromActionLayoutAnnotation">
-                    <mml:attr name="redirect">AS_CONFIGURED</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.semantics.ActionSemanticsFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.semantics.ActionSemanticsFacetForActionAnnotation">
-                    <mml:attr name="value">SAFE</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.all.describedas.DescribedAsFacet" fqcn="org.apache.isis.metamodel.facets.members.describedas.annotprop.DescribedAsFacetOnMemberDerivedFromType"/>
-                <mml:facet id="org.apache.isis.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.metamodel.facets.all.i18n.NamedFacetTranslated">
-                    <mml:attr name="context">domainapp.application.services.homepage.HomePageViewModel#downloadMetaModelXml()</mml:attr>
-                    <mml:attr name="originalText">Download Meta Model Xml</mml:attr>
-                    <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.all.named.NamedFacetInferred</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.collections.collection.defaultview.DefaultViewFacet" fqcn="org.apache.isis.metamodel.facets.collections.layout.DefaultViewFacetForCollectionLayoutAnnotation">
-                    <mml:attr name="value">hidden</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.members.cssclassfa.CssClassFaFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.CssClassFaFacetForActionLayoutAnnotation">
-                    <mml:attr name="position">LEFT</mml:attr>
-                    <mml:attr name="value">fa fa-fw fa-download</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.members.order.MemberOrderFacet" fqcn="org.apache.isis.metamodel.facets.members.order.annotprop.MemberOrderFacetAnnotation">
-                    <mml:attr name="name">metadata</mml:attr>
-                    <mml:attr name="originalName">metadata</mml:attr>
-                    <mml:attr name="sequence">700.2</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacet" fqcn="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacetFallback">
-                    <mml:attr name="bookmarkPolicy">NEVER</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacet" fqcn="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacetAsConfigured">
-                    <mml:attr name="promptStyle">INLINE</mml:attr>
-                </mml:facet>
-            </mml:facets>
-            <mml:returnType>java.lang.Object</mml:returnType>
-            <mml:params>
-                <mml:param xsi:type="mml:scalarParam" id="fileName" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-                    <mml:facets>
-                        <mml:facet id="org.apache.isis.metamodel.facets.all.describedas.DescribedAsFacet" fqcn="org.apache.isis.metamodel.facets.all.i18n.DescribedAsFacetTranslated">
-                            <mml:attr name="context">org.apache.isis.applib.mixins.metamodel.Object_downloadMetaModelXml#act(java.lang.String)</mml:attr>
-                            <mml:attr name="originalText">File name extension can be omitted.</mml:attr>
-                            <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.param.layout.DescribedAsFacetForParameterLayoutAnnotation</mml:attr>
-                        </mml:facet>
-                        <mml:facet id="org.apache.isis.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.metamodel.facets.all.i18n.NamedFacetTranslated">
-                            <mml:attr name="context">org.apache.isis.applib.mixins.metamodel.Object_downloadMetaModelXml#act(java.lang.String)</mml:attr>
-                            <mml:attr name="originalText">File name</mml:attr>
-                            <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.param.layout.NamedFacetForParameterLayoutAnnotation</mml:attr>
-                        </mml:facet>
-                        <mml:facet id="org.apache.isis.metamodel.facets.objectvalue.labelat.LabelAtFacet" fqcn="org.apache.isis.metamodel.facets.fallback.LabelAtFacetFromLayoutConfiguration">
-                            <mml:attr name="label">NOT_SPECIFIED</mml:attr>
-                            <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.fallback.LabelAtFacetFromLayoutConfiguration</mml:attr>
-                        </mml:facet>
-                        <mml:facet id="org.apache.isis.metamodel.facets.objectvalue.mandatory.MandatoryFacet" fqcn="org.apache.isis.metamodel.facets.objectvalue.mandatory.MandatoryFacetDefault">
-                            <mml:attr name="inverted">false</mml:attr>
-                            <mml:attr name="semantics">REQUIRED</mml:attr>
-                            <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.objectvalue.mandatory.MandatoryFacetDefault</mml:attr>
-                            <mml:attr name="validating">true</mml:attr>
-                        </mml:facet>
-                        <mml:facet id="org.apache.isis.metamodel.facets.param.defaults.ActionParameterDefaultsFacet" fqcn="org.apache.isis.metamodel.facets.param.defaults.methodnum.ActionParameterDefaultsFacetViaMethod">
-                            <mml:attr name="intent.default0Act">DEFAULTS</mml:attr>
-                            <mml:attr name="methods">public java.lang.String org.apache.isis.applib.mixins.metamodel.Object_downloadMetaModelXml.default0Act()</mml:attr>
-                        </mml:facet>
-                    </mml:facets>
-                    <mml:type>java.lang.String</mml:type>
-                </mml:param>
-            </mml:params>
-        </mml:act>
-        <mml:act id="openRestApi">
-            <mml:facets>
-                <mml:facet id="org.apache.isis.metamodel.authorization.standard.AuthorizationFacet" fqcn="org.apache.isis.metamodel.authorization.standard.AuthorizationFacetImpl">
-                    <mml:attr name="disabling">true</mml:attr>
-                    <mml:attr name="hiding">true</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.action.invocation.ActionDomainEventFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.invocation.ActionDomainEventFacetForActionAnnotation">
-                    <mml:attr name="disabling">true</mml:attr>
-                    <mml:attr name="hiding">true</mml:attr>
-                    <mml:attr name="validating">true</mml:attr>
-                    <mml:attr name="value">org.apache.isis.applib.mixins.layout.Object_openRestApi.ActionDomainEvent</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.action.invocation.ActionInvocationFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.invocation.ActionInvocationFacetForDomainEventFromActionAnnotation">
-                    <mml:attr name="eventType">org.apache.isis.applib.mixins.layout.Object_openRestApi.ActionDomainEvent</mml:attr>
-                    <mml:attr name="intent.act">EXECUTE</mml:attr>
-                    <mml:attr name="methods">public org.apache.isis.applib.value.LocalResourcePath org.apache.isis.applib.mixins.layout.Object_openRestApi.act()</mml:attr>
-                    <mml:attr name="onType">org.apache.isis.applib.mixins.layout.Object_openRestApi</mml:attr>
-                    <mml:attr name="returnType">org.apache.isis.applib.value.LocalResourcePath</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.notcontributed.NotContributedFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.NotContributedFacetForActionLayoutAnnotation">
-                    <mml:attr name="contributed">AS_ACTION</mml:attr>
-                    <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.actions.notcontributed.derived.NotContributedFacetDerivedFromMixinFacet</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.position.ActionPositionFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.ActionPositionFacetForActionLayoutAnnotation">
-                    <mml:attr name="position">PANEL_DROPDOWN</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.prototype.PrototypeFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.prototype.PrototypeFacetForActionAnnotation">
-                    <mml:attr name="deploymentType">PRODUCTION</mml:attr>
-                    <mml:attr name="hiding">true</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.redirect.RedirectFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.RedirectFacetFromActionLayoutAnnotation">
-                    <mml:attr name="redirect">AS_CONFIGURED</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.semantics.ActionSemanticsFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.semantics.ActionSemanticsFacetForActionAnnotation">
-                    <mml:attr name="value">SAFE</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.all.describedas.DescribedAsFacet" fqcn="org.apache.isis.metamodel.facets.members.describedas.annotprop.DescribedAsFacetOnMemberDerivedFromType"/>
-                <mml:facet id="org.apache.isis.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.metamodel.facets.all.i18n.NamedFacetTranslated">
-                    <mml:attr name="context">domainapp.application.services.homepage.HomePageViewModel#openRestApi()</mml:attr>
-                    <mml:attr name="originalText">Open Rest Api</mml:attr>
-                    <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.all.named.NamedFacetInferred</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.collections.collection.defaultview.DefaultViewFacet" fqcn="org.apache.isis.metamodel.facets.collections.layout.DefaultViewFacetForCollectionLayoutAnnotation">
-                    <mml:attr name="value">hidden</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.members.cssclassfa.CssClassFaFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.CssClassFaFacetForActionLayoutAnnotation">
-                    <mml:attr name="position">LEFT</mml:attr>
-                    <mml:attr name="value">fa fa-fw fa-external-link</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.members.order.MemberOrderFacet" fqcn="org.apache.isis.metamodel.facets.members.order.annotprop.MemberOrderFacetAnnotation">
-                    <mml:attr name="name">metadata</mml:attr>
-                    <mml:attr name="originalName">metadata</mml:attr>
-                    <mml:attr name="sequence">750.1</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacet" fqcn="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacetFallback">
-                    <mml:attr name="bookmarkPolicy">NEVER</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacet" fqcn="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacetAsConfigured">
-                    <mml:attr name="promptStyle">INLINE</mml:attr>
-                </mml:facet>
-            </mml:facets>
-            <mml:returnType>org.apache.isis.applib.value.LocalResourcePath</mml:returnType>
-            <mml:params/>
-        </mml:act>
-        <mml:act id="rebuildMetamodel">
-            <mml:facets>
-                <mml:facet id="org.apache.isis.metamodel.authorization.standard.AuthorizationFacet" fqcn="org.apache.isis.metamodel.authorization.standard.AuthorizationFacetImpl">
-                    <mml:attr name="disabling">true</mml:attr>
-                    <mml:attr name="hiding">true</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.action.invocation.ActionDomainEventFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.invocation.ActionDomainEventFacetForActionAnnotation">
-                    <mml:attr name="disabling">true</mml:attr>
-                    <mml:attr name="hiding">true</mml:attr>
-                    <mml:attr name="validating">true</mml:attr>
-                    <mml:attr name="value">org.apache.isis.applib.mixins.layout.Object_rebuildMetamodel.ActionDomainEvent</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.action.invocation.ActionInvocationFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.invocation.ActionInvocationFacetForDomainEventFromActionAnnotation">
-                    <mml:attr name="eventType">org.apache.isis.applib.mixins.layout.Object_rebuildMetamodel.ActionDomainEvent</mml:attr>
-                    <mml:attr name="intent.act">EXECUTE</mml:attr>
-                    <mml:attr name="methods">public java.lang.Object org.apache.isis.applib.mixins.layout.Object_rebuildMetamodel.act()</mml:attr>
-                    <mml:attr name="onType">org.apache.isis.applib.mixins.layout.Object_rebuildMetamodel</mml:attr>
-                    <mml:attr name="returnType">java.lang.Object</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.notcontributed.NotContributedFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.NotContributedFacetForActionLayoutAnnotation">
-                    <mml:attr name="contributed">AS_ACTION</mml:attr>
-                    <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.actions.notcontributed.derived.NotContributedFacetDerivedFromMixinFacet</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.position.ActionPositionFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.ActionPositionFacetForActionLayoutAnnotation">
-                    <mml:attr name="position">PANEL</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.prototype.PrototypeFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.prototype.PrototypeFacetForActionAnnotation">
-                    <mml:attr name="deploymentType">PRODUCTION</mml:attr>
-                    <mml:attr name="hiding">true</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.redirect.RedirectFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.RedirectFacetFromActionLayoutAnnotation">
-                    <mml:attr name="redirect">AS_CONFIGURED</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.semantics.ActionSemanticsFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.semantics.ActionSemanticsFacetForActionAnnotation">
-                    <mml:attr name="value">IDEMPOTENT</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.all.describedas.DescribedAsFacet" fqcn="org.apache.isis.metamodel.facets.members.describedas.annotprop.DescribedAsFacetOnMemberDerivedFromType"/>
-                <mml:facet id="org.apache.isis.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.metamodel.facets.all.i18n.NamedFacetTranslated">
-                    <mml:attr name="context">domainapp.application.services.homepage.HomePageViewModel#rebuildMetamodel()</mml:attr>
-                    <mml:attr name="originalText">Rebuild Metamodel</mml:attr>
-                    <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.all.named.NamedFacetInferred</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.collections.collection.defaultview.DefaultViewFacet" fqcn="org.apache.isis.metamodel.facets.collections.layout.DefaultViewFacetForCollectionLayoutAnnotation">
-                    <mml:attr name="value">hidden</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.members.cssclassfa.CssClassFaFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.CssClassFaFacetForActionLayoutAnnotation">
-                    <mml:attr name="position">LEFT</mml:attr>
-                    <mml:attr name="value">fa fa-fw fa-refresh</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.members.order.MemberOrderFacet" fqcn="org.apache.isis.metamodel.facets.members.order.annotprop.MemberOrderFacetAnnotation">
-                    <mml:attr name="name">metadata</mml:attr>
-                    <mml:attr name="originalName">metadata</mml:attr>
-                    <mml:attr name="sequence">800.1</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacet" fqcn="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacetFallback">
-                    <mml:attr name="bookmarkPolicy">NEVER</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacet" fqcn="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacetAsConfigured">
-                    <mml:attr name="promptStyle">INLINE</mml:attr>
-                </mml:facet>
-            </mml:facets>
-            <mml:returnType>java.lang.Object</mml:returnType>
-            <mml:params/>
-        </mml:act>
-    </mml:actions>
-</mml:domainClassDto>
diff --git a/starters/simpleapp/application/src/test/java/domainapp/application/integtests/mml/approved/domainapp.modules.simple.dom.impl.SimpleObject.xml b/starters/simpleapp/application/src/test/java/domainapp/application/integtests/mml/approved/domainapp.modules.simple.dom.impl.SimpleObject.xml
deleted file mode 100644
index b664f8d..0000000
--- a/starters/simpleapp/application/src/test/java/domainapp/application/integtests/mml/approved/domainapp.modules.simple.dom.impl.SimpleObject.xml
+++ /dev/null
@@ -1,1182 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<mml:domainClassDto id="domainapp.modules.simple.dom.impl.SimpleObject" xmlns:mml="http://isis.apache.org/schema/metamodel">
-    <mml:facets>
-        <mml:facet id="org.apache.isis.jdo.metamodel.facets.object.datastoreidentity.JdoDatastoreIdentityFacet" fqcn="org.apache.isis.jdo.metamodel.facets.object.datastoreidentity.JdoDatastoreIdentityFacetAnnotation">
-            <mml:attr name="strategy">IDENTITY</mml:attr>
-        </mml:facet>
-        <mml:facet id="org.apache.isis.jdo.metamodel.facets.object.persistencecapable.JdoPersistenceCapableFacet" fqcn="org.apache.isis.jdo.metamodel.facets.object.persistencecapable.JdoPersistenceCapableFacetAnnotation">
-            <mml:attr name="identityType">DATASTORE</mml:attr>
-            <mml:attr name="schema">simple</mml:attr>
-            <mml:attr name="table">SimpleObject</mml:attr>
-        </mml:facet>
-        <mml:facet id="org.apache.isis.jdo.metamodel.facets.object.version.JdoVersionFacet" fqcn="org.apache.isis.jdo.metamodel.facets.object.version.JdoVersionFacetFromAnnotation"/>
-        <mml:facet id="org.apache.isis.metamodel.authorization.standard.AuthorizationFacet" fqcn="org.apache.isis.metamodel.authorization.standard.AuthorizationFacetImpl">
-            <mml:attr name="disabling">true</mml:attr>
-            <mml:attr name="hiding">true</mml:attr>
-        </mml:facet>
-        <mml:facet id="org.apache.isis.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.metamodel.facets.all.named.NamedFacetInferred">
-            <mml:attr name="escaped">true</mml:attr>
-            <mml:attr name="value">Simple Object</mml:attr>
-        </mml:facet>
-        <mml:facet id="org.apache.isis.metamodel.facets.jaxb.XmlJavaTypeAdapterFacet" fqcn="org.apache.isis.metamodel.facets.jaxb.XmlJavaTypeAdapterFacetDefault">
-            <mml:attr name="value">org.apache.isis.schema.utils.jaxbadapters.PersistentEntityAdapter</mml:attr>
-        </mml:facet>
-        <mml:facet id="org.apache.isis.metamodel.facets.members.cssclass.CssClassFacet" fqcn="org.apache.isis.metamodel.facets.object.domainobjectlayout.CssClassFacetViaDomainObjectLayoutAnnotationUsingCssClassUiEvent">
-            <mml:attr name="cssClassUiEventClass">org.apache.isis.applib.events.ui.CssClassUiEvent.Default</mml:attr>
-        </mml:facet>
-        <mml:facet id="org.apache.isis.metamodel.facets.object.audit.AuditableFacet" fqcn="org.apache.isis.metamodel.facets.object.domainobject.auditing.AuditableFacetForDomainObjectAnnotation">
-            <mml:attr name="enablement">ENABLED</mml:attr>
-        </mml:facet>
-        <mml:facet id="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacet" fqcn="org.apache.isis.metamodel.facets.object.domainobjectlayout.BookmarkPolicyFacetForDomainObjectLayoutAnnotation">
-            <mml:attr name="bookmarkPolicy">NOT_SPECIFIED</mml:attr>
-            <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacetFallback</mml:attr>
-        </mml:facet>
-        <mml:facet id="org.apache.isis.metamodel.facets.object.callbacks.CreatedLifecycleEventFacet" fqcn="org.apache.isis.metamodel.facets.object.callbacks.CreatedLifecycleEventFacetForDomainObjectAnnotation">
-            <mml:attr name="value">org.apache.isis.applib.events.lifecycle.ObjectCreatedEvent.Default</mml:attr>
-        </mml:facet>
-        <mml:facet id="org.apache.isis.metamodel.facets.object.callbacks.LoadedLifecycleEventFacet" fqcn="org.apache.isis.metamodel.facets.object.callbacks.LoadedLifecycleEventFacetForDomainObjectAnnotation">
-            <mml:attr name="value">org.apache.isis.applib.events.lifecycle.ObjectLoadedEvent.Default</mml:attr>
-        </mml:facet>
-        <mml:facet id="org.apache.isis.metamodel.facets.object.callbacks.PersistedLifecycleEventFacet" fqcn="org.apache.isis.metamodel.facets.object.callbacks.PersistedLifecycleEventFacetForDomainObjectAnnotation">
-            <mml:attr name="value">org.apache.isis.applib.events.lifecycle.ObjectPersistedEvent.Default</mml:attr>
-        </mml:facet>
-        <mml:facet id="org.apache.isis.metamodel.facets.object.callbacks.PersistingLifecycleEventFacet" fqcn="org.apache.isis.metamodel.facets.object.callbacks.PersistingLifecycleEventFacetForDomainObjectAnnotation">
-            <mml:attr name="value">org.apache.isis.applib.events.lifecycle.ObjectPersistingEvent.Default</mml:attr>
-        </mml:facet>
-        <mml:facet id="org.apache.isis.metamodel.facets.object.callbacks.RemovingLifecycleEventFacet" fqcn="org.apache.isis.metamodel.facets.object.callbacks.RemovingLifecycleEventFacetForDomainObjectAnnotation">
-            <mml:attr name="value">org.apache.isis.applib.events.lifecycle.ObjectRemovingEvent.Default</mml:attr>
-        </mml:facet>
-        <mml:facet id="org.apache.isis.metamodel.facets.object.callbacks.UpdatedLifecycleEventFacet" fqcn="org.apache.isis.metamodel.facets.object.callbacks.UpdatedLifecycleEventFacetForDomainObjectAnnotation">
-            <mml:attr name="value">org.apache.isis.applib.events.lifecycle.ObjectUpdatedEvent.Default</mml:attr>
-        </mml:facet>
-        <mml:facet id="org.apache.isis.metamodel.facets.object.callbacks.UpdatingLifecycleEventFacet" fqcn="org.apache.isis.metamodel.facets.object.callbacks.UpdatingLifecycleEventFacetForDomainObjectAnnotation">
-            <mml:attr name="value">org.apache.isis.applib.events.lifecycle.ObjectUpdatingEvent.Default</mml:attr>
-        </mml:facet>
-        <mml:facet id="org.apache.isis.metamodel.facets.object.grid.GridFacet" fqcn="org.apache.isis.metamodel.facets.object.grid.GridFacetDefault"/>
-        <mml:facet id="org.apache.isis.metamodel.facets.object.icon.IconFacet" fqcn="org.apache.isis.metamodel.facets.object.domainobjectlayout.IconFacetViaDomainObjectLayoutAnnotationUsingIconUiEvent">
-            <mml:attr name="iconUiEventClass">org.apache.isis.applib.events.ui.IconUiEvent.Default</mml:attr>
-        </mml:facet>
-        <mml:facet id="org.apache.isis.metamodel.facets.object.layout.LayoutFacet" fqcn="org.apache.isis.metamodel.facets.object.domainobjectlayout.LayoutFacetViaDomainObjectLayoutAnnotationUsingLayoutUiEvent">
-            <mml:attr name="layoutUiEventClass">org.apache.isis.applib.events.ui.LayoutUiEvent.Default</mml:attr>
-            <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.object.layout.LayoutFacetFallback</mml:attr>
-        </mml:facet>
-        <mml:facet id="org.apache.isis.metamodel.facets.object.objectspecid.ObjectSpecIdFacet" fqcn="org.apache.isis.jdo.metamodel.facets.object.domainobject.objectspecid.ObjectSpecIdFacetForJdoPersistenceCapableAnnotation">
-            <mml:attr name="value">simple.SimpleObject</mml:attr>
-        </mml:facet>
-        <mml:facet id="org.apache.isis.metamodel.facets.object.objectvalidprops.ObjectValidPropertiesFacet" fqcn="org.apache.isis.metamodel.facets.object.objectvalidprops.impl.ObjectValidPropertiesFacetImpl">
-            <mml:attr name="validating">true</mml:attr>
-        </mml:facet>
-        <mml:facet id="org.apache.isis.metamodel.facets.object.paged.PagedFacet" fqcn="org.apache.isis.metamodel.facets.fallback.PagedFacetFromConfiguration">
-            <mml:attr name="derived">true</mml:attr>
-            <mml:attr name="value">25</mml:attr>
-        </mml:facet>
-        <mml:facet id="org.apache.isis.metamodel.facets.object.plural.PluralFacet" fqcn="org.apache.isis.metamodel.facets.object.domainobjectlayout.PluralFacetForDomainObjectLayoutAnnotation"/>
-        <mml:facet id="org.apache.isis.metamodel.facets.object.title.TitleFacet" fqcn="org.apache.isis.metamodel.facets.object.domainobjectlayout.TitleFacetViaDomainObjectLayoutAnnotationUsingTitleUiEvent">
-            <mml:attr name="titleUiEventClass">org.apache.isis.applib.events.ui.TitleUiEvent.Default</mml:attr>
-            <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.object.title.methods.TitleFacetViaTitleMethod</mml:attr>
-        </mml:facet>
-    </mml:facets>
-    <mml:properties>
-        <mml:prop id="datanucleusIdLong">
-            <mml:facets>
-                <mml:facet id="org.apache.isis.metamodel.authorization.standard.AuthorizationFacet" fqcn="org.apache.isis.metamodel.authorization.standard.AuthorizationFacetImpl">
-                    <mml:attr name="disabling">true</mml:attr>
-                    <mml:attr name="hiding">true</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.action.invocation.ActionDomainEventFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.invocation.ActionDomainEventFacetForActionAnnotation">
-                    <mml:attr name="disabling">true</mml:attr>
-                    <mml:attr name="hiding">true</mml:attr>
-                    <mml:attr name="validating">true</mml:attr>
-                    <mml:attr name="value">org.apache.isis.jdo.jdosupport.mixins.Persistable_datanucleusIdLong.ActionDomainEvent</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.action.invocation.ActionInvocationFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.invocation.ActionInvocationFacetForDomainEventFromActionAnnotation">
-                    <mml:attr name="eventType">org.apache.isis.jdo.jdosupport.mixins.Persistable_datanucleusIdLong.ActionDomainEvent</mml:attr>
-                    <mml:attr name="intent.prop">EXECUTE</mml:attr>
-                    <mml:attr name="methods">public java.lang.Long org.apache.isis.jdo.jdosupport.mixins.Persistable_datanucleusIdLong.prop()</mml:attr>
-                    <mml:attr name="onType">org.apache.isis.jdo.jdosupport.mixins.Persistable_datanucleusIdLong</mml:attr>
-                    <mml:attr name="returnType">java.lang.Long</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.notcontributed.NotContributedFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.NotContributedFacetForActionLayoutAnnotation">
-                    <mml:attr name="contributed">AS_ASSOCIATION</mml:attr>
-                    <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.actions.notcontributed.derived.NotContributedFacetDerivedFromMixinFacet</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.position.ActionPositionFacet" fqcn="org.apache.isis.metamodel.facets.actions.position.ActionPositionFacetFallback">
-                    <mml:attr name="position">BELOW</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.redirect.RedirectFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.RedirectFacetFromActionLayoutAnnotation">
-                    <mml:attr name="redirect">AS_CONFIGURED</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.semantics.ActionSemanticsFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.semantics.ActionSemanticsFacetForActionAnnotation">
-                    <mml:attr name="value">SAFE</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.all.describedas.DescribedAsFacet" fqcn="org.apache.isis.metamodel.facets.members.describedas.annotprop.DescribedAsFacetOnMemberDerivedFromType"/>
-                <mml:facet id="org.apache.isis.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.metamodel.facets.all.i18n.NamedFacetTranslated">
-                    <mml:attr name="context">domainapp.modules.simple.dom.impl.SimpleObject#datanucleusIdLong()</mml:attr>
-                    <mml:attr name="originalText">Id</mml:attr>
-                    <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.all.i18n.NamedFacetTranslated</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.collections.collection.defaultview.DefaultViewFacet" fqcn="org.apache.isis.metamodel.facets.collections.layout.DefaultViewFacetForCollectionLayoutAnnotation">
-                    <mml:attr name="value">hidden</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.members.disabled.DisabledFacet" fqcn="org.apache.isis.metamodel.facets.members.disabled.DisabledFacetForContributee">
-                    <mml:attr name="disabling">true</mml:attr>
-                    <mml:attr name="inverted">false</mml:attr>
-                    <mml:attr name="reason">Contributed property</mml:attr>
-                    <mml:attr name="semantics">DISABLED</mml:attr>
-                    <mml:attr name="where">ANYWHERE</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.members.hidden.method.HideForContextFacet" fqcn="org.apache.isis.metamodel.facets.members.hidden.method.HideForContextFacetViaMethod">
-                    <mml:attr name="hiding">true</mml:attr>
-                    <mml:attr name="intent.hideProp">CHECK_IF_HIDDEN</mml:attr>
-                    <mml:attr name="methods">public boolean org.apache.isis.jdo.jdosupport.mixins.Persistable_datanucleusIdLong.hideProp()</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.members.order.MemberOrderFacet" fqcn="org.apache.isis.metamodel.facets.members.order.annotprop.MemberOrderFacetAnnotation">
-                    <mml:attr name="name">metadata</mml:attr>
-                    <mml:attr name="originalName">metadata</mml:attr>
-                    <mml:attr name="sequence">800.1</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacet" fqcn="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacetFallback">
-                    <mml:attr name="bookmarkPolicy">NEVER</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacet" fqcn="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacetAsConfigured">
-                    <mml:attr name="promptStyle">INLINE</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.propcoll.notpersisted.NotPersistedFacet"/>
-                <mml:facet id="org.apache.isis.metamodel.facets.properties.propertylayout.HiddenFacetForPropertyLayoutAnnotation" fqcn="org.apache.isis.metamodel.facets.properties.propertylayout.HiddenFacetForPropertyLayoutAnnotation">
-                    <mml:attr name="hiding">true</mml:attr>
-                    <mml:attr name="where">ALL_TABLES</mml:attr>
-                </mml:facet>
-            </mml:facets>
-            <mml:type>java.lang.Long</mml:type>
-        </mml:prop>
-        <mml:prop id="datanucleusVersionLong">
-            <mml:facets>
-                <mml:facet id="org.apache.isis.metamodel.authorization.standard.AuthorizationFacet" fqcn="org.apache.isis.metamodel.authorization.standard.AuthorizationFacetImpl">
-                    <mml:attr name="disabling">true</mml:attr>
-                    <mml:attr name="hiding">true</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.action.invocation.ActionDomainEventFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.invocation.ActionDomainEventFacetForActionAnnotation">
-                    <mml:attr name="disabling">true</mml:attr>
-                    <mml:attr name="hiding">true</mml:attr>
-                    <mml:attr name="validating">true</mml:attr>
-                    <mml:attr name="value">org.apache.isis.jdo.jdosupport.mixins.Persistable_datanucleusVersionLong.ActionDomainEvent</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.action.invocation.ActionInvocationFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.invocation.ActionInvocationFacetForDomainEventFromActionAnnotation">
-                    <mml:attr name="eventType">org.apache.isis.jdo.jdosupport.mixins.Persistable_datanucleusVersionLong.ActionDomainEvent</mml:attr>
-                    <mml:attr name="intent.prop">EXECUTE</mml:attr>
-                    <mml:attr name="methods">public java.lang.Long org.apache.isis.jdo.jdosupport.mixins.Persistable_datanucleusVersionLong.prop()</mml:attr>
-                    <mml:attr name="onType">org.apache.isis.jdo.jdosupport.mixins.Persistable_datanucleusVersionLong</mml:attr>
-                    <mml:attr name="returnType">java.lang.Long</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.notcontributed.NotContributedFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.NotContributedFacetForActionLayoutAnnotation">
-                    <mml:attr name="contributed">AS_ASSOCIATION</mml:attr>
-                    <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.actions.notcontributed.derived.NotContributedFacetDerivedFromMixinFacet</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.position.ActionPositionFacet" fqcn="org.apache.isis.metamodel.facets.actions.position.ActionPositionFacetFallback">
-                    <mml:attr name="position">BELOW</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.redirect.RedirectFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.RedirectFacetFromActionLayoutAnnotation">
-                    <mml:attr name="redirect">AS_CONFIGURED</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.semantics.ActionSemanticsFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.semantics.ActionSemanticsFacetForActionAnnotation">
-                    <mml:attr name="value">SAFE</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.all.describedas.DescribedAsFacet" fqcn="org.apache.isis.metamodel.facets.members.describedas.annotprop.DescribedAsFacetOnMemberDerivedFromType"/>
-                <mml:facet id="org.apache.isis.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.metamodel.facets.all.i18n.NamedFacetTranslated">
-                    <mml:attr name="context">domainapp.modules.simple.dom.impl.SimpleObject#datanucleusVersionLong()</mml:attr>
-                    <mml:attr name="originalText">Version</mml:attr>
-                    <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.all.i18n.NamedFacetTranslated</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.collections.collection.defaultview.DefaultViewFacet" fqcn="org.apache.isis.metamodel.facets.collections.layout.DefaultViewFacetForCollectionLayoutAnnotation">
-                    <mml:attr name="value">hidden</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.members.disabled.DisabledFacet" fqcn="org.apache.isis.metamodel.facets.members.disabled.DisabledFacetForContributee">
-                    <mml:attr name="disabling">true</mml:attr>
-                    <mml:attr name="inverted">false</mml:attr>
-                    <mml:attr name="reason">Contributed property</mml:attr>
-                    <mml:attr name="semantics">DISABLED</mml:attr>
-                    <mml:attr name="where">ANYWHERE</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.members.hidden.method.HideForContextFacet" fqcn="org.apache.isis.metamodel.facets.members.hidden.method.HideForContextFacetViaMethod">
-                    <mml:attr name="hiding">true</mml:attr>
-                    <mml:attr name="intent.hideProp">CHECK_IF_HIDDEN</mml:attr>
-                    <mml:attr name="methods">public boolean org.apache.isis.jdo.jdosupport.mixins.Persistable_datanucleusVersionLong.hideProp()</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.members.order.MemberOrderFacet" fqcn="org.apache.isis.metamodel.facets.members.order.annotprop.MemberOrderFacetAnnotation">
-                    <mml:attr name="name">metadata</mml:attr>
-                    <mml:attr name="originalName">metadata</mml:attr>
-                    <mml:attr name="sequence">800.2</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacet" fqcn="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacetFallback">
-                    <mml:attr name="bookmarkPolicy">NEVER</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacet" fqcn="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacetAsConfigured">
-                    <mml:attr name="promptStyle">INLINE</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.propcoll.notpersisted.NotPersistedFacet"/>
-                <mml:facet id="org.apache.isis.metamodel.facets.properties.propertylayout.HiddenFacetForPropertyLayoutAnnotation" fqcn="org.apache.isis.metamodel.facets.properties.propertylayout.HiddenFacetForPropertyLayoutAnnotation">
-                    <mml:attr name="hiding">true</mml:attr>
-                    <mml:attr name="where">ALL_TABLES</mml:attr>
-                </mml:facet>
-            </mml:facets>
-            <mml:type>java.lang.Long</mml:type>
-        </mml:prop>
-        <mml:prop id="datanucleusVersionTimestamp">
-            <mml:facets>
-                <mml:facet id="org.apache.isis.metamodel.authorization.standard.AuthorizationFacet" fqcn="org.apache.isis.metamodel.authorization.standard.AuthorizationFacetImpl">
-                    <mml:attr name="disabling">true</mml:attr>
-                    <mml:attr name="hiding">true</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.action.invocation.ActionDomainEventFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.invocation.ActionDomainEventFacetForActionAnnotation">
-                    <mml:attr name="disabling">true</mml:attr>
-                    <mml:attr name="hiding">true</mml:attr>
-                    <mml:attr name="validating">true</mml:attr>
-                    <mml:attr name="value">org.apache.isis.jdo.jdosupport.mixins.Persistable_datanucleusVersionTimestamp.ActionDomainEvent</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.action.invocation.ActionInvocationFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.invocation.ActionInvocationFacetForDomainEventFromActionAnnotation">
-                    <mml:attr name="eventType">org.apache.isis.jdo.jdosupport.mixins.Persistable_datanucleusVersionTimestamp.ActionDomainEvent</mml:attr>
-                    <mml:attr name="intent.prop">EXECUTE</mml:attr>
-                    <mml:attr name="methods">public java.sql.Timestamp org.apache.isis.jdo.jdosupport.mixins.Persistable_datanucleusVersionTimestamp.prop()</mml:attr>
-                    <mml:attr name="onType">org.apache.isis.jdo.jdosupport.mixins.Persistable_datanucleusVersionTimestamp</mml:attr>
-                    <mml:attr name="returnType">java.sql.Timestamp</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.notcontributed.NotContributedFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.NotContributedFacetForActionLayoutAnnotation">
-                    <mml:attr name="contributed">AS_ASSOCIATION</mml:attr>
-                    <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.actions.notcontributed.derived.NotContributedFacetDerivedFromMixinFacet</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.position.ActionPositionFacet" fqcn="org.apache.isis.metamodel.facets.actions.position.ActionPositionFacetFallback">
-                    <mml:attr name="position">BELOW</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.redirect.RedirectFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.RedirectFacetFromActionLayoutAnnotation">
-                    <mml:attr name="redirect">AS_CONFIGURED</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.semantics.ActionSemanticsFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.semantics.ActionSemanticsFacetForActionAnnotation">
-                    <mml:attr name="value">SAFE</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.all.describedas.DescribedAsFacet" fqcn="org.apache.isis.metamodel.facets.members.describedas.annotprop.DescribedAsFacetOnMemberDerivedFromType"/>
-                <mml:facet id="org.apache.isis.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.metamodel.facets.all.i18n.NamedFacetTranslated">
-                    <mml:attr name="context">domainapp.modules.simple.dom.impl.SimpleObject#datanucleusVersionTimestamp()</mml:attr>
-                    <mml:attr name="originalText">Version</mml:attr>
-                    <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.all.i18n.NamedFacetTranslated</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.collections.collection.defaultview.DefaultViewFacet" fqcn="org.apache.isis.metamodel.facets.collections.layout.DefaultViewFacetForCollectionLayoutAnnotation">
-                    <mml:attr name="value">hidden</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.members.disabled.DisabledFacet" fqcn="org.apache.isis.metamodel.facets.members.disabled.DisabledFacetForContributee">
-                    <mml:attr name="disabling">true</mml:attr>
-                    <mml:attr name="inverted">false</mml:attr>
-                    <mml:attr name="reason">Contributed property</mml:attr>
-                    <mml:attr name="semantics">DISABLED</mml:attr>
-                    <mml:attr name="where">ANYWHERE</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.members.hidden.method.HideForContextFacet" fqcn="org.apache.isis.metamodel.facets.members.hidden.method.HideForContextFacetViaMethod">
-                    <mml:attr name="hiding">true</mml:attr>
-                    <mml:attr name="intent.hideProp">CHECK_IF_HIDDEN</mml:attr>
-                    <mml:attr name="methods">public boolean org.apache.isis.jdo.jdosupport.mixins.Persistable_datanucleusVersionTimestamp.hideProp()</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.members.order.MemberOrderFacet" fqcn="org.apache.isis.metamodel.facets.members.order.annotprop.MemberOrderFacetAnnotation">
-                    <mml:attr name="name">metadata</mml:attr>
-                    <mml:attr name="originalName">metadata</mml:attr>
-                    <mml:attr name="sequence">800.2</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacet" fqcn="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacetFallback">
-                    <mml:attr name="bookmarkPolicy">NEVER</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacet" fqcn="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacetAsConfigured">
-                    <mml:attr name="promptStyle">INLINE</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.propcoll.notpersisted.NotPersistedFacet"/>
-                <mml:facet id="org.apache.isis.metamodel.facets.properties.propertylayout.HiddenFacetForPropertyLayoutAnnotation" fqcn="org.apache.isis.metamodel.facets.properties.propertylayout.HiddenFacetForPropertyLayoutAnnotation">
-                    <mml:attr name="hiding">true</mml:attr>
-                    <mml:attr name="where">ALL_TABLES</mml:attr>
-                </mml:facet>
-            </mml:facets>
-            <mml:type>java.sql.Timestamp</mml:type>
-        </mml:prop>
-        <mml:prop id="name">
-            <mml:facets>
-                <mml:facet id="org.apache.isis.metamodel.authorization.standard.AuthorizationFacet" fqcn="org.apache.isis.metamodel.authorization.standard.AuthorizationFacetImpl">
-                    <mml:attr name="disabling">true</mml:attr>
-                    <mml:attr name="hiding">true</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.all.describedas.DescribedAsFacet" fqcn="org.apache.isis.metamodel.facets.members.describedas.annotprop.DescribedAsFacetOnMemberDerivedFromType"/>
-                <mml:facet id="org.apache.isis.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.metamodel.facets.all.i18n.NamedFacetTranslated">
-                    <mml:attr name="context">domainapp.modules.simple.dom.impl.SimpleObject#name</mml:attr>
-                    <mml:attr name="originalText">Name</mml:attr>
-                    <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.fallback.NamedFacetDefault</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.members.disabled.DisabledFacet" fqcn="org.apache.isis.metamodel.facets.properties.property.disabled.DisabledFacetForPropertyAnnotation">
-                    <mml:attr name="disabling">true</mml:attr>
-                    <mml:attr name="inverted">false</mml:attr>
-                    <mml:attr name="semantics">DISABLED</mml:attr>
-                    <mml:attr name="where">EVERYWHERE</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacet" fqcn="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacetAsConfigured">
-                    <mml:attr name="promptStyle">INLINE</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.objectvalue.labelat.LabelAtFacet" fqcn="org.apache.isis.metamodel.facets.fallback.LabelAtFacetFromLayoutConfiguration">
-                    <mml:attr name="label">NOT_SPECIFIED</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.objectvalue.mandatory.MandatoryFacet" fqcn="org.apache.isis.metamodel.facets.objectvalue.mandatory.MandatoryFacetDefault">
-                    <mml:attr name="inverted">false</mml:attr>
-                    <mml:attr name="semantics">REQUIRED</mml:attr>
-                    <mml:attr name="underlyingFacet">org.apache.isis.jdo.metamodel.facets.prop.column.MandatoryFacetDerivedFromJdoColumn</mml:attr>
-                    <mml:attr name="validating">true</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.objectvalue.maxlen.MaxLengthFacet" fqcn="org.apache.isis.metamodel.facets.properties.property.maxlength.MaxLengthFacetForPropertyAnnotation">
-                    <mml:attr name="underlyingFacet">org.apache.isis.jdo.metamodel.facets.prop.column.MaxLengthFacetDerivedFromJdoColumn</mml:attr>
-                    <mml:attr name="validating">true</mml:attr>
-                    <mml:attr name="value">40</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.objectvalue.mustsatisfyspec.MustSatisfySpecificationFacet" fqcn="org.apache.isis.metamodel.facets.properties.property.mustsatisfy.MustSatisfySpecificationFacetForPropertyAnnotation">
-                    <mml:attr name="specifications">domainapp.modules.simple.dom.types.Name$NoExclamationMarks</mml:attr>
-                    <mml:attr name="validating">true</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.objectvalue.typicallen.TypicalLengthFacet" fqcn="org.apache.isis.metamodel.facets.properties.typicallen.fromtype.TypicalLengthFacetOnPropertyDerivedFromType">
-                    <mml:attr name="derived">true</mml:attr>
-                    <mml:attr name="typicalLengthFacet">org.apache.isis.metamodel.facets.object.value.TypicalLengthFacetUsingParser</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.propcoll.accessor.PropertyOrCollectionAccessorFacet" fqcn="org.apache.isis.metamodel.facets.properties.accessor.PropertyAccessorFacetViaAccessor">
-                    <mml:attr name="intent.getName">ACCESSOR</mml:attr>
-                    <mml:attr name="methods">public java.lang.String domainapp.modules.simple.dom.impl.SimpleObject.getName()</mml:attr>
-                    <mml:attr name="onType">domainapp.modules.simple.dom.impl.SimpleObject</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.properties.defaults.PropertyDefaultFacet" fqcn="org.apache.isis.metamodel.facets.properties.defaults.fromtype.PropertyDefaultFacetDerivedFromDefaultedFacet">
-                    <mml:attr name="typeFacet">org.apache.isis.metamodel.facets.object.defaults.DefaultedFacetUsingDefaultsProvider</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.properties.property.modify.PropertyDomainEventFacet" fqcn="org.apache.isis.metamodel.facets.properties.property.modify.PropertyDomainEventFacetDefault">
-                    <mml:attr name="disabling">true</mml:attr>
-                    <mml:attr name="getterFacet">org.apache.isis.metamodel.facets.properties.accessor.PropertyAccessorFacetViaAccessor</mml:attr>
-                    <mml:attr name="hiding">true</mml:attr>
-                    <mml:attr name="validating">true</mml:attr>
-                    <mml:attr name="value">org.apache.isis.applib.events.domain.PropertyDomainEvent.Default</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.properties.update.clear.PropertyClearFacet" fqcn="org.apache.isis.metamodel.facets.properties.property.modify.PropertyClearFacetForDomainEventFromDefault">
-                    <mml:attr name="clearFacet">org.apache.isis.metamodel.facets.properties.update.clear.PropertyClearFacetViaSetterMethod</mml:attr>
-                    <mml:attr name="getterFacet">org.apache.isis.metamodel.facets.properties.accessor.PropertyAccessorFacetViaAccessor</mml:attr>
-                    <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.properties.update.clear.PropertyClearFacetViaSetterMethod</mml:attr>
-                    <mml:attr name="value">org.apache.isis.applib.events.domain.PropertyDomainEvent.Default</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.properties.update.init.PropertyInitializationFacet" fqcn="org.apache.isis.metamodel.facets.properties.update.init.PropertyInitializationFacetViaSetterMethod">
-                    <mml:attr name="intent.setName">MODIFY_PROPERTY</mml:attr>
-                    <mml:attr name="methods">public void domainapp.modules.simple.dom.impl.SimpleObject.setName(java.lang.String)</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.properties.update.modify.PropertySetterFacet" fqcn="org.apache.isis.metamodel.facets.properties.property.modify.PropertySetterFacetForDomainEventFromDefault">
-                    <mml:attr name="getterFacet">org.apache.isis.metamodel.facets.properties.accessor.PropertyAccessorFacetViaAccessor</mml:attr>
-                    <mml:attr name="setterFacet">org.apache.isis.metamodel.facets.properties.update.modify.PropertySetterFacetViaSetterMethod</mml:attr>
-                    <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.properties.update.modify.PropertySetterFacetViaSetterMethod</mml:attr>
-                    <mml:attr name="value">org.apache.isis.applib.events.domain.PropertyDomainEvent.Default</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.properties.validating.PropertyValidateFacet" fqcn="org.apache.isis.metamodel.facets.properties.validating.dflt.PropertyValidateFacetDefault">
-                    <mml:attr name="validating">true</mml:attr>
-                </mml:facet>
-            </mml:facets>
-            <mml:type>java.lang.String</mml:type>
-        </mml:prop>
-        <mml:prop id="notes">
-            <mml:facets>
-                <mml:facet id="org.apache.isis.metamodel.authorization.standard.AuthorizationFacet" fqcn="org.apache.isis.metamodel.authorization.standard.AuthorizationFacetImpl">
-                    <mml:attr name="disabling">true</mml:attr>
-                    <mml:attr name="hiding">true</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.all.describedas.DescribedAsFacet" fqcn="org.apache.isis.metamodel.facets.members.describedas.annotprop.DescribedAsFacetOnMemberDerivedFromType"/>
-                <mml:facet id="org.apache.isis.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.metamodel.facets.all.i18n.NamedFacetTranslated">
-                    <mml:attr name="context">domainapp.modules.simple.dom.impl.SimpleObject#notes</mml:attr>
-                    <mml:attr name="originalText">Notes</mml:attr>
-                    <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.fallback.NamedFacetDefault</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.members.disabled.DisabledFacet" fqcn="org.apache.isis.metamodel.facets.properties.property.disabled.DisabledFacetForPropertyAnnotationInvertedSemantics">
-                    <mml:attr name="disabling">true</mml:attr>
-                    <mml:attr name="inverted">true</mml:attr>
-                    <mml:attr name="semantics">ENABLED</mml:attr>
-                    <mml:attr name="where">EVERYWHERE</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacet" fqcn="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacetAsConfigured">
-                    <mml:attr name="promptStyle">INLINE</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.objectvalue.labelat.LabelAtFacet" fqcn="org.apache.isis.metamodel.facets.fallback.LabelAtFacetFromLayoutConfiguration">
-                    <mml:attr name="label">NOT_SPECIFIED</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.objectvalue.mandatory.MandatoryFacet" fqcn="org.apache.isis.metamodel.facets.objectvalue.mandatory.MandatoryFacetDefault">
-                    <mml:attr name="inverted">false</mml:attr>
-                    <mml:attr name="semantics">REQUIRED</mml:attr>
-                    <mml:attr name="underlyingFacet">org.apache.isis.jdo.metamodel.facets.prop.column.MandatoryFacetDerivedFromJdoColumn</mml:attr>
-                    <mml:attr name="validating">true</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.objectvalue.maxlen.MaxLengthFacet" fqcn="org.apache.isis.metamodel.facets.properties.property.maxlength.MaxLengthFacetForPropertyAnnotation">
-                    <mml:attr name="underlyingFacet">org.apache.isis.jdo.metamodel.facets.prop.column.MaxLengthFacetDerivedFromJdoColumn</mml:attr>
-                    <mml:attr name="validating">true</mml:attr>
-                    <mml:attr name="value">4000</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.objectvalue.typicallen.TypicalLengthFacet" fqcn="org.apache.isis.metamodel.facets.properties.typicallen.fromtype.TypicalLengthFacetOnPropertyDerivedFromType">
-                    <mml:attr name="derived">true</mml:attr>
-                    <mml:attr name="typicalLengthFacet">org.apache.isis.metamodel.facets.object.value.TypicalLengthFacetUsingParser</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.propcoll.accessor.PropertyOrCollectionAccessorFacet" fqcn="org.apache.isis.metamodel.facets.properties.accessor.PropertyAccessorFacetViaAccessor">
-                    <mml:attr name="intent.getNotes">ACCESSOR</mml:attr>
-                    <mml:attr name="methods">public java.lang.String domainapp.modules.simple.dom.impl.SimpleObject.getNotes()</mml:attr>
-                    <mml:attr name="onType">domainapp.modules.simple.dom.impl.SimpleObject</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.properties.defaults.PropertyDefaultFacet" fqcn="org.apache.isis.metamodel.facets.properties.defaults.fromtype.PropertyDefaultFacetDerivedFromDefaultedFacet">
-                    <mml:attr name="typeFacet">org.apache.isis.metamodel.facets.object.defaults.DefaultedFacetUsingDefaultsProvider</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.properties.property.modify.PropertyDomainEventFacet" fqcn="org.apache.isis.metamodel.facets.properties.property.modify.PropertyDomainEventFacetDefault">
-                    <mml:attr name="disabling">true</mml:attr>
-                    <mml:attr name="getterFacet">org.apache.isis.metamodel.facets.properties.accessor.PropertyAccessorFacetViaAccessor</mml:attr>
-                    <mml:attr name="hiding">true</mml:attr>
-                    <mml:attr name="validating">true</mml:attr>
-                    <mml:attr name="value">org.apache.isis.applib.events.domain.PropertyDomainEvent.Default</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.properties.update.clear.PropertyClearFacet" fqcn="org.apache.isis.metamodel.facets.properties.property.modify.PropertyClearFacetForDomainEventFromDefault">
-                    <mml:attr name="clearFacet">org.apache.isis.metamodel.facets.properties.update.clear.PropertyClearFacetViaSetterMethod</mml:attr>
-                    <mml:attr name="getterFacet">org.apache.isis.metamodel.facets.properties.accessor.PropertyAccessorFacetViaAccessor</mml:attr>
-                    <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.properties.update.clear.PropertyClearFacetViaSetterMethod</mml:attr>
-                    <mml:attr name="value">org.apache.isis.applib.events.domain.PropertyDomainEvent.Default</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.properties.update.init.PropertyInitializationFacet" fqcn="org.apache.isis.metamodel.facets.properties.update.init.PropertyInitializationFacetViaSetterMethod">
-                    <mml:attr name="intent.setNotes">MODIFY_PROPERTY</mml:attr>
-                    <mml:attr name="methods">public void domainapp.modules.simple.dom.impl.SimpleObject.setNotes(java.lang.String)</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.properties.update.modify.PropertySetterFacet" fqcn="org.apache.isis.metamodel.facets.properties.property.modify.PropertySetterFacetForDomainEventFromDefault">
-                    <mml:attr name="getterFacet">org.apache.isis.metamodel.facets.properties.accessor.PropertyAccessorFacetViaAccessor</mml:attr>
-                    <mml:attr name="setterFacet">org.apache.isis.metamodel.facets.properties.update.modify.PropertySetterFacetViaSetterMethod</mml:attr>
-                    <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.properties.update.modify.PropertySetterFacetViaSetterMethod</mml:attr>
-                    <mml:attr name="value">org.apache.isis.applib.events.domain.PropertyDomainEvent.Default</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.properties.validating.PropertyValidateFacet" fqcn="org.apache.isis.metamodel.facets.properties.validating.dflt.PropertyValidateFacetDefault">
-                    <mml:attr name="validating">true</mml:attr>
-                </mml:facet>
-            </mml:facets>
-            <mml:type>java.lang.String</mml:type>
-        </mml:prop>
-        <mml:prop id="objectIdentifier">
-            <mml:facets>
-                <mml:facet id="org.apache.isis.metamodel.authorization.standard.AuthorizationFacet" fqcn="org.apache.isis.metamodel.authorization.standard.AuthorizationFacetImpl">
-                    <mml:attr name="disabling">true</mml:attr>
-                    <mml:attr name="hiding">true</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.action.invocation.ActionDomainEventFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.invocation.ActionDomainEventFacetForActionAnnotation">
-                    <mml:attr name="disabling">true</mml:attr>
-                    <mml:attr name="hiding">true</mml:attr>
-                    <mml:attr name="validating">true</mml:attr>
-                    <mml:attr name="value">org.apache.isis.applib.mixins.metamodel.Object_objectIdentifier.ActionDomainEvent</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.action.invocation.ActionInvocationFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.invocation.ActionInvocationFacetForDomainEventFromActionAnnotation">
-                    <mml:attr name="eventType">org.apache.isis.applib.mixins.metamodel.Object_objectIdentifier.ActionDomainEvent</mml:attr>
-                    <mml:attr name="intent.prop">EXECUTE</mml:attr>
-                    <mml:attr name="methods">public java.lang.String org.apache.isis.applib.mixins.metamodel.Object_objectIdentifier.prop()</mml:attr>
-                    <mml:attr name="onType">org.apache.isis.applib.mixins.metamodel.Object_objectIdentifier</mml:attr>
-                    <mml:attr name="returnType">java.lang.String</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.notcontributed.NotContributedFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.NotContributedFacetForActionLayoutAnnotation">
-                    <mml:attr name="contributed">AS_ASSOCIATION</mml:attr>
-                    <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.actions.notcontributed.derived.NotContributedFacetDerivedFromMixinFacet</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.position.ActionPositionFacet" fqcn="org.apache.isis.metamodel.facets.actions.position.ActionPositionFacetFallback">
-                    <mml:attr name="position">BELOW</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.redirect.RedirectFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.RedirectFacetFromActionLayoutAnnotation">
-                    <mml:attr name="redirect">AS_CONFIGURED</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.semantics.ActionSemanticsFacet">
-                    <mml:attr name="value">SAFE</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.all.describedas.DescribedAsFacet" fqcn="org.apache.isis.metamodel.facets.members.describedas.annotprop.DescribedAsFacetOnMemberDerivedFromType"/>
-                <mml:facet id="org.apache.isis.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.metamodel.facets.all.i18n.NamedFacetTranslated">
-                    <mml:attr name="context">domainapp.modules.simple.dom.impl.SimpleObject#objectIdentifier()</mml:attr>
-                    <mml:attr name="originalText">Object Identifier</mml:attr>
-                    <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.all.named.NamedFacetInferred</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.collections.collection.defaultview.DefaultViewFacet" fqcn="org.apache.isis.metamodel.facets.collections.layout.DefaultViewFacetForCollectionLayoutAnnotation">
-                    <mml:attr name="value">hidden</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.members.disabled.DisabledFacet" fqcn="org.apache.isis.metamodel.facets.members.disabled.DisabledFacetForContributee">
-                    <mml:attr name="disabling">true</mml:attr>
-                    <mml:attr name="inverted">false</mml:attr>
-                    <mml:attr name="reason">Contributed property</mml:attr>
-                    <mml:attr name="semantics">DISABLED</mml:attr>
-                    <mml:attr name="where">ANYWHERE</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.members.hidden.HiddenFacetAbstract" fqcn="org.apache.isis.metamodel.facets.actions.layout.HiddenFacetForActionLayoutAnnotation">
-                    <mml:attr name="hiding">true</mml:attr>
-                    <mml:attr name="where">ALL_TABLES</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.members.order.MemberOrderFacet" fqcn="org.apache.isis.metamodel.facets.members.order.annotprop.MemberOrderFacetAnnotation">
-                    <mml:attr name="name">metadata</mml:attr>
-                    <mml:attr name="originalName">metadata</mml:attr>
-                    <mml:attr name="sequence">700.2</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacet" fqcn="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacetFallback">
-                    <mml:attr name="bookmarkPolicy">NEVER</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacet" fqcn="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacetAsConfigured">
-                    <mml:attr name="promptStyle">INLINE</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.propcoll.notpersisted.NotPersistedFacet"/>
-                <mml:facet id="org.apache.isis.metamodel.facets.properties.property.modify.PropertyDomainEventFacet" fqcn="org.apache.isis.metamodel.facets.properties.property.modify.PropertyDomainEventFacetForPropertyAnnotation">
-                    <mml:attr name="disabling">true</mml:attr>
-                    <mml:attr name="hiding">true</mml:attr>
-                    <mml:attr name="validating">true</mml:attr>
-                    <mml:attr name="value">org.apache.isis.applib.events.domain.PropertyDomainEvent.Default</mml:attr>
-                </mml:facet>
-            </mml:facets>
-            <mml:type>java.lang.String</mml:type>
-        </mml:prop>
-        <mml:prop id="objectType">
-            <mml:facets>
-                <mml:facet id="org.apache.isis.metamodel.authorization.standard.AuthorizationFacet" fqcn="org.apache.isis.metamodel.authorization.standard.AuthorizationFacetImpl">
-                    <mml:attr name="disabling">true</mml:attr>
-                    <mml:attr name="hiding">true</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.action.invocation.ActionDomainEventFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.invocation.ActionDomainEventFacetForActionAnnotation">
-                    <mml:attr name="disabling">true</mml:attr>
-                    <mml:attr name="hiding">true</mml:attr>
-                    <mml:attr name="validating">true</mml:attr>
-                    <mml:attr name="value">org.apache.isis.applib.mixins.metamodel.Object_objectType.ActionDomainEvent</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.action.invocation.ActionInvocationFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.invocation.ActionInvocationFacetForDomainEventFromActionAnnotation">
-                    <mml:attr name="eventType">org.apache.isis.applib.mixins.metamodel.Object_objectType.ActionDomainEvent</mml:attr>
-                    <mml:attr name="intent.prop">EXECUTE</mml:attr>
-                    <mml:attr name="methods">public java.lang.String org.apache.isis.applib.mixins.metamodel.Object_objectType.prop()</mml:attr>
-                    <mml:attr name="onType">org.apache.isis.applib.mixins.metamodel.Object_objectType</mml:attr>
-                    <mml:attr name="returnType">java.lang.String</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.notcontributed.NotContributedFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.NotContributedFacetForActionLayoutAnnotation">
-                    <mml:attr name="contributed">AS_ASSOCIATION</mml:attr>
-                    <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.actions.notcontributed.derived.NotContributedFacetDerivedFromMixinFacet</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.position.ActionPositionFacet" fqcn="org.apache.isis.metamodel.facets.actions.position.ActionPositionFacetFallback">
-                    <mml:attr name="position">BELOW</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.redirect.RedirectFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.RedirectFacetFromActionLayoutAnnotation">
-                    <mml:attr name="redirect">AS_CONFIGURED</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.semantics.ActionSemanticsFacet">
-                    <mml:attr name="value">SAFE</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.all.describedas.DescribedAsFacet" fqcn="org.apache.isis.metamodel.facets.members.describedas.annotprop.DescribedAsFacetOnMemberDerivedFromType"/>
-                <mml:facet id="org.apache.isis.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.metamodel.facets.all.i18n.NamedFacetTranslated">
-                    <mml:attr name="context">domainapp.modules.simple.dom.impl.SimpleObject#objectType()</mml:attr>
-                    <mml:attr name="originalText">Object Type</mml:attr>
-                    <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.all.named.NamedFacetInferred</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.collections.collection.defaultview.DefaultViewFacet" fqcn="org.apache.isis.metamodel.facets.collections.layout.DefaultViewFacetForCollectionLayoutAnnotation">
-                    <mml:attr name="value">hidden</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.members.disabled.DisabledFacet" fqcn="org.apache.isis.metamodel.facets.members.disabled.DisabledFacetForContributee">
-                    <mml:attr name="disabling">true</mml:attr>
-                    <mml:attr name="inverted">false</mml:attr>
-                    <mml:attr name="reason">Contributed property</mml:attr>
-                    <mml:attr name="semantics">DISABLED</mml:attr>
-                    <mml:attr name="where">ANYWHERE</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.members.hidden.HiddenFacetAbstract" fqcn="org.apache.isis.metamodel.facets.actions.layout.HiddenFacetForActionLayoutAnnotation">
-                    <mml:attr name="hiding">true</mml:attr>
-                    <mml:attr name="where">ALL_TABLES</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.members.order.MemberOrderFacet" fqcn="org.apache.isis.metamodel.facets.members.order.annotprop.MemberOrderFacetAnnotation">
-                    <mml:attr name="name">metadata</mml:attr>
-                    <mml:attr name="originalName">metadata</mml:attr>
-                    <mml:attr name="sequence">700.1</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacet" fqcn="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacetFallback">
-                    <mml:attr name="bookmarkPolicy">NEVER</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacet" fqcn="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacetAsConfigured">
-                    <mml:attr name="promptStyle">INLINE</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.propcoll.notpersisted.NotPersistedFacet"/>
-                <mml:facet id="org.apache.isis.metamodel.facets.properties.property.modify.PropertyDomainEventFacet" fqcn="org.apache.isis.metamodel.facets.properties.property.modify.PropertyDomainEventFacetForPropertyAnnotation">
-                    <mml:attr name="disabling">true</mml:attr>
-                    <mml:attr name="hiding">true</mml:attr>
-                    <mml:attr name="validating">true</mml:attr>
-                    <mml:attr name="value">org.apache.isis.applib.events.domain.PropertyDomainEvent.Default</mml:attr>
-                </mml:facet>
-            </mml:facets>
-            <mml:type>java.lang.String</mml:type>
-        </mml:prop>
-    </mml:properties>
-    <mml:collections/>
-    <mml:actions>
-        <mml:act id="delete">
-            <mml:facets>
-                <mml:facet id="org.apache.isis.metamodel.authorization.standard.AuthorizationFacet" fqcn="org.apache.isis.metamodel.authorization.standard.AuthorizationFacetImpl">
-                    <mml:attr name="disabling">true</mml:attr>
-                    <mml:attr name="hiding">true</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.action.invocation.ActionDomainEventFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.invocation.ActionDomainEventFacetDefault">
-                    <mml:attr name="disabling">true</mml:attr>
-                    <mml:attr name="hiding">true</mml:attr>
-                    <mml:attr name="validating">true</mml:attr>
-                    <mml:attr name="value">org.apache.isis.applib.events.domain.ActionDomainEvent.Default</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.action.invocation.ActionInvocationFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.invocation.ActionInvocationFacetForDomainEventFromDefault">
-                    <mml:attr name="eventType">org.apache.isis.applib.events.domain.ActionDomainEvent.Default</mml:attr>
-                    <mml:attr name="intent.delete">EXECUTE</mml:attr>
-                    <mml:attr name="methods">public void domainapp.modules.simple.dom.impl.SimpleObject.delete()</mml:attr>
-                    <mml:attr name="onType">domainapp.modules.simple.dom.impl.SimpleObject</mml:attr>
-                    <mml:attr name="returnType">void</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.position.ActionPositionFacet" fqcn="org.apache.isis.metamodel.facets.actions.position.ActionPositionFacetFallback">
-                    <mml:attr name="position">BELOW</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.redirect.RedirectFacet" fqcn="org.apache.isis.metamodel.facets.actions.redirect.RedirectFacetFallback">
-                    <mml:attr name="redirect">AS_CONFIGURED</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.semantics.ActionSemanticsFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.semantics.ActionSemanticsFacetForActionAnnotation">
-                    <mml:attr name="value">NON_IDEMPOTENT_ARE_YOU_SURE</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.all.describedas.DescribedAsFacet" fqcn="org.apache.isis.metamodel.facets.members.describedas.annotprop.DescribedAsFacetOnMemberDerivedFromType"/>
-                <mml:facet id="org.apache.isis.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.metamodel.facets.all.i18n.NamedFacetTranslated">
-                    <mml:attr name="context">domainapp.modules.simple.dom.impl.SimpleObject#delete()</mml:attr>
-                    <mml:attr name="originalText">Delete</mml:attr>
-                    <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.fallback.NamedFacetDefault</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.collections.collection.defaultview.DefaultViewFacet" fqcn="org.apache.isis.metamodel.facets.collections.layout.DefaultViewFacetForCollectionLayoutAnnotation">
-                    <mml:attr name="value">hidden</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacet" fqcn="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacetFallback">
-                    <mml:attr name="bookmarkPolicy">NEVER</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacet" fqcn="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacetAsConfigured">
-                    <mml:attr name="promptStyle">INLINE</mml:attr>
-                </mml:facet>
-            </mml:facets>
-            <mml:returnType>void</mml:returnType>
-            <mml:params/>
-        </mml:act>
-        <mml:act id="downloadJdoMetadata">
-            <mml:facets>
-                <mml:facet id="org.apache.isis.metamodel.authorization.standard.AuthorizationFacet" fqcn="org.apache.isis.metamodel.authorization.standard.AuthorizationFacetImpl">
-                    <mml:attr name="disabling">true</mml:attr>
-                    <mml:attr name="hiding">true</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.action.invocation.ActionDomainEventFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.invocation.ActionDomainEventFacetForActionAnnotation">
-                    <mml:attr name="disabling">true</mml:attr>
-                    <mml:attr name="hiding">true</mml:attr>
-                    <mml:attr name="validating">true</mml:attr>
-                    <mml:attr name="value">org.apache.isis.jdo.jdosupport.mixins.Persistable_downloadJdoMetadata.ActionDomainEvent</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.action.invocation.ActionInvocationFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.invocation.ActionInvocationFacetForDomainEventFromActionAnnotation">
-                    <mml:attr name="eventType">org.apache.isis.jdo.jdosupport.mixins.Persistable_downloadJdoMetadata.ActionDomainEvent</mml:attr>
-                    <mml:attr name="intent.act">EXECUTE</mml:attr>
-                    <mml:attr name="methods">public org.apache.isis.applib.value.Clob org.apache.isis.jdo.jdosupport.mixins.Persistable_downloadJdoMetadata.act(java.lang.String) throws javax.xml.bind.JAXBException,java.io.IOException</mml:attr>
-                    <mml:attr name="onType">org.apache.isis.jdo.jdosupport.mixins.Persistable_downloadJdoMetadata</mml:attr>
-                    <mml:attr name="returnType">org.apache.isis.applib.value.Clob</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.notcontributed.NotContributedFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.NotContributedFacetForActionLayoutAnnotation">
-                    <mml:attr name="contributed">AS_ACTION</mml:attr>
-                    <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.actions.notcontributed.derived.NotContributedFacetDerivedFromMixinFacet</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.position.ActionPositionFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.ActionPositionFacetForActionLayoutAnnotation">
-                    <mml:attr name="position">PANEL_DROPDOWN</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.prototype.PrototypeFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.prototype.PrototypeFacetForActionAnnotation">
-                    <mml:attr name="deploymentType">PRODUCTION</mml:attr>
-                    <mml:attr name="hiding">true</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.redirect.RedirectFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.RedirectFacetFromActionLayoutAnnotation">
-                    <mml:attr name="redirect">AS_CONFIGURED</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.semantics.ActionSemanticsFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.semantics.ActionSemanticsFacetForActionAnnotation">
-                    <mml:attr name="value">SAFE</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.all.describedas.DescribedAsFacet" fqcn="org.apache.isis.metamodel.facets.members.describedas.annotprop.DescribedAsFacetOnMemberDerivedFromType"/>
-                <mml:facet id="org.apache.isis.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.metamodel.facets.all.i18n.NamedFacetTranslated">
-                    <mml:attr name="context">domainapp.modules.simple.dom.impl.SimpleObject#downloadJdoMetadata()</mml:attr>
-                    <mml:attr name="originalText">Download Jdo Metadata</mml:attr>
-                    <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.all.named.NamedFacetInferred</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.collections.collection.defaultview.DefaultViewFacet" fqcn="org.apache.isis.metamodel.facets.collections.layout.DefaultViewFacetForCollectionLayoutAnnotation">
-                    <mml:attr name="value">hidden</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.members.cssclassfa.CssClassFaFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.CssClassFaFacetForActionLayoutAnnotation">
-                    <mml:attr name="position">LEFT</mml:attr>
-                    <mml:attr name="value">fa fa-fw fa-download</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.members.order.MemberOrderFacet" fqcn="org.apache.isis.metamodel.facets.members.order.annotprop.MemberOrderFacetAnnotation">
-                    <mml:attr name="name">metadata</mml:attr>
-                    <mml:attr name="originalName">metadata</mml:attr>
-                    <mml:attr name="sequence">710.1</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacet" fqcn="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacetFallback">
-                    <mml:attr name="bookmarkPolicy">NEVER</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacet" fqcn="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacetAsConfigured">
-                    <mml:attr name="promptStyle">INLINE</mml:attr>
-                </mml:facet>
-            </mml:facets>
-            <mml:returnType>org.apache.isis.applib.value.Clob</mml:returnType>
-            <mml:params>
-                <mml:param xsi:type="mml:scalarParam" id="fileName" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-                    <mml:facets>
-                        <mml:facet id="org.apache.isis.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.metamodel.facets.all.i18n.NamedFacetTranslated">
-                            <mml:attr name="context">org.apache.isis.jdo.jdosupport.mixins.Persistable_downloadJdoMetadata#act(java.lang.String)</mml:attr>
-                            <mml:attr name="originalText">File name</mml:attr>
-                            <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.param.layout.NamedFacetForParameterLayoutAnnotation</mml:attr>
-                        </mml:facet>
-                        <mml:facet id="org.apache.isis.metamodel.facets.objectvalue.labelat.LabelAtFacet" fqcn="org.apache.isis.metamodel.facets.fallback.LabelAtFacetFromLayoutConfiguration">
-                            <mml:attr name="label">NOT_SPECIFIED</mml:attr>
-                            <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.fallback.LabelAtFacetFromLayoutConfiguration</mml:attr>
-                        </mml:facet>
-                        <mml:facet id="org.apache.isis.metamodel.facets.objectvalue.mandatory.MandatoryFacet" fqcn="org.apache.isis.metamodel.facets.objectvalue.mandatory.MandatoryFacetDefault">
-                            <mml:attr name="inverted">false</mml:attr>
-                            <mml:attr name="semantics">REQUIRED</mml:attr>
-                            <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.objectvalue.mandatory.MandatoryFacetDefault</mml:attr>
-                            <mml:attr name="validating">true</mml:attr>
-                        </mml:facet>
-                        <mml:facet id="org.apache.isis.metamodel.facets.param.defaults.ActionParameterDefaultsFacet" fqcn="org.apache.isis.metamodel.facets.param.defaults.methodnum.ActionParameterDefaultsFacetViaMethod">
-                            <mml:attr name="intent.default0Act">DEFAULTS</mml:attr>
-                            <mml:attr name="methods">public java.lang.String org.apache.isis.jdo.jdosupport.mixins.Persistable_downloadJdoMetadata.default0Act()</mml:attr>
-                        </mml:facet>
-                    </mml:facets>
-                    <mml:type>java.lang.String</mml:type>
-                </mml:param>
-            </mml:params>
-        </mml:act>
-        <mml:act id="downloadLayoutXml">
-            <mml:facets>
-                <mml:facet id="org.apache.isis.metamodel.authorization.standard.AuthorizationFacet" fqcn="org.apache.isis.metamodel.authorization.standard.AuthorizationFacetImpl">
-                    <mml:attr name="disabling">true</mml:attr>
-                    <mml:attr name="hiding">true</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.action.invocation.ActionDomainEventFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.invocation.ActionDomainEventFacetForActionAnnotation">
-                    <mml:attr name="disabling">true</mml:attr>
-                    <mml:attr name="hiding">true</mml:attr>
-                    <mml:attr name="validating">true</mml:attr>
-                    <mml:attr name="value">org.apache.isis.applib.mixins.layout.Object_downloadLayoutXml.ActionDomainEvent</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.action.invocation.ActionInvocationFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.invocation.ActionInvocationFacetForDomainEventFromActionAnnotation">
-                    <mml:attr name="eventType">org.apache.isis.applib.mixins.layout.Object_downloadLayoutXml.ActionDomainEvent</mml:attr>
-                    <mml:attr name="intent.act">EXECUTE</mml:attr>
-                    <mml:attr name="methods">public java.lang.Object org.apache.isis.applib.mixins.layout.Object_downloadLayoutXml.act(java.lang.String,org.apache.isis.applib.services.layout.LayoutService$Style)</mml:attr>
-                    <mml:attr name="onType">org.apache.isis.applib.mixins.layout.Object_downloadLayoutXml</mml:attr>
-                    <mml:attr name="returnType">java.lang.Object</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.notcontributed.NotContributedFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.NotContributedFacetForActionLayoutAnnotation">
-                    <mml:attr name="contributed">AS_ACTION</mml:attr>
-                    <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.actions.notcontributed.derived.NotContributedFacetDerivedFromMixinFacet</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.position.ActionPositionFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.ActionPositionFacetForActionLayoutAnnotation">
-                    <mml:attr name="position">PANEL_DROPDOWN</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.prototype.PrototypeFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.prototype.PrototypeFacetForActionAnnotation">
-                    <mml:attr name="deploymentType">PRODUCTION</mml:attr>
-                    <mml:attr name="hiding">true</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.redirect.RedirectFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.RedirectFacetFromActionLayoutAnnotation">
-                    <mml:attr name="redirect">AS_CONFIGURED</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.semantics.ActionSemanticsFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.semantics.ActionSemanticsFacetForActionAnnotation">
-                    <mml:attr name="value">SAFE</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.all.describedas.DescribedAsFacet" fqcn="org.apache.isis.metamodel.facets.members.describedas.annotprop.DescribedAsFacetOnMemberDerivedFromType"/>
-                <mml:facet id="org.apache.isis.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.metamodel.facets.all.i18n.NamedFacetTranslated">
-                    <mml:attr name="context">domainapp.modules.simple.dom.impl.SimpleObject#downloadLayoutXml()</mml:attr>
-                    <mml:attr name="originalText">Download Layout Xml</mml:attr>
-                    <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.all.named.NamedFacetInferred</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.collections.collection.defaultview.DefaultViewFacet" fqcn="org.apache.isis.metamodel.facets.collections.layout.DefaultViewFacetForCollectionLayoutAnnotation">
-                    <mml:attr name="value">hidden</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.members.cssclassfa.CssClassFaFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.CssClassFaFacetForActionLayoutAnnotation">
-                    <mml:attr name="position">LEFT</mml:attr>
-                    <mml:attr name="value">fa fa-fw fa-download</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.members.order.MemberOrderFacet" fqcn="org.apache.isis.metamodel.facets.members.order.annotprop.MemberOrderFacetAnnotation">
-                    <mml:attr name="name">metadata</mml:attr>
-                    <mml:attr name="originalName">metadata</mml:attr>
-                    <mml:attr name="sequence">700.1</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacet" fqcn="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacetFallback">
-                    <mml:attr name="bookmarkPolicy">NEVER</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacet" fqcn="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacetAsConfigured">
-                    <mml:attr name="promptStyle">INLINE</mml:attr>
-                </mml:facet>
-            </mml:facets>
-            <mml:returnType>java.lang.Object</mml:returnType>
-            <mml:params>
-                <mml:param xsi:type="mml:scalarParam" id="fileName" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-                    <mml:facets>
-                        <mml:facet id="org.apache.isis.metamodel.facets.all.describedas.DescribedAsFacet" fqcn="org.apache.isis.metamodel.facets.all.i18n.DescribedAsFacetTranslated">
-                            <mml:attr name="context">org.apache.isis.applib.mixins.layout.Object_downloadLayoutXml#act(java.lang.String,org.apache.isis.applib.services.layout.LayoutService$Style)</mml:attr>
-                            <mml:attr name="originalText">File name extension can be omitted.</mml:attr>
-                            <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.param.layout.DescribedAsFacetForParameterLayoutAnnotation</mml:attr>
-                        </mml:facet>
-                        <mml:facet id="org.apache.isis.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.metamodel.facets.all.i18n.NamedFacetTranslated">
-                            <mml:attr name="context">org.apache.isis.applib.mixins.layout.Object_downloadLayoutXml#act(java.lang.String,org.apache.isis.applib.services.layout.LayoutService$Style)</mml:attr>
-                            <mml:attr name="originalText">File name</mml:attr>
-                            <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.param.layout.NamedFacetForParameterLayoutAnnotation</mml:attr>
-                        </mml:facet>
-                        <mml:facet id="org.apache.isis.metamodel.facets.objectvalue.labelat.LabelAtFacet" fqcn="org.apache.isis.metamodel.facets.fallback.LabelAtFacetFromLayoutConfiguration">
-                            <mml:attr name="label">NOT_SPECIFIED</mml:attr>
-                            <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.fallback.LabelAtFacetFromLayoutConfiguration</mml:attr>
-                        </mml:facet>
-                        <mml:facet id="org.apache.isis.metamodel.facets.objectvalue.mandatory.MandatoryFacet" fqcn="org.apache.isis.metamodel.facets.objectvalue.mandatory.MandatoryFacetDefault">
-                            <mml:attr name="inverted">false</mml:attr>
-                            <mml:attr name="semantics">REQUIRED</mml:attr>
-                            <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.objectvalue.mandatory.MandatoryFacetDefault</mml:attr>
-                            <mml:attr name="validating">true</mml:attr>
-                        </mml:facet>
-                        <mml:facet id="org.apache.isis.metamodel.facets.param.defaults.ActionParameterDefaultsFacet" fqcn="org.apache.isis.metamodel.facets.param.defaults.methodnum.ActionParameterDefaultsFacetViaMethod">
-                            <mml:attr name="intent.default0Act">DEFAULTS</mml:attr>
-                            <mml:attr name="methods">public java.lang.String org.apache.isis.applib.mixins.layout.Object_downloadLayoutXml.default0Act()</mml:attr>
-                        </mml:facet>
-                    </mml:facets>
-                    <mml:type>java.lang.String</mml:type>
-                </mml:param>
-                <mml:param xsi:type="mml:scalarParam" id="style" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-                    <mml:facets>
-                        <mml:facet id="org.apache.isis.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.metamodel.facets.all.i18n.NamedFacetTranslated">
-                            <mml:attr name="context">org.apache.isis.applib.mixins.layout.Object_downloadLayoutXml#act(java.lang.String,org.apache.isis.applib.services.layout.LayoutService$Style)</mml:attr>
-                            <mml:attr name="originalText">Style</mml:attr>
-                            <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.param.name.NamedFacetForParameterUsingReflection</mml:attr>
-                        </mml:facet>
-                        <mml:facet id="org.apache.isis.metamodel.facets.objectvalue.labelat.LabelAtFacet" fqcn="org.apache.isis.metamodel.facets.fallback.LabelAtFacetFromLayoutConfiguration">
-                            <mml:attr name="label">NOT_SPECIFIED</mml:attr>
-                            <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.fallback.LabelAtFacetFromLayoutConfiguration</mml:attr>
-                        </mml:facet>
-                        <mml:facet id="org.apache.isis.metamodel.facets.objectvalue.mandatory.MandatoryFacet" fqcn="org.apache.isis.metamodel.facets.objectvalue.mandatory.MandatoryFacetDefault">
-                            <mml:attr name="inverted">false</mml:attr>
-                            <mml:attr name="semantics">REQUIRED</mml:attr>
-                            <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.objectvalue.mandatory.MandatoryFacetDefault</mml:attr>
-                            <mml:attr name="validating">true</mml:attr>
-                        </mml:facet>
-                        <mml:facet id="org.apache.isis.metamodel.facets.param.defaults.ActionParameterDefaultsFacet" fqcn="org.apache.isis.metamodel.facets.param.defaults.methodnum.ActionParameterDefaultsFacetViaMethod">
-                            <mml:attr name="intent.default1Act">DEFAULTS</mml:attr>
-                            <mml:attr name="methods">public org.apache.isis.applib.services.layout.LayoutService$Style org.apache.isis.applib.mixins.layout.Object_downloadLayoutXml.default1Act()</mml:attr>
-                        </mml:facet>
-                    </mml:facets>
-                    <mml:type>org.apache.isis.applib.services.layout.LayoutService$Style</mml:type>
-                </mml:param>
-            </mml:params>
-        </mml:act>
-        <mml:act id="downloadMetaModelXml">
-            <mml:facets>
-                <mml:facet id="org.apache.isis.metamodel.authorization.standard.AuthorizationFacet" fqcn="org.apache.isis.metamodel.authorization.standard.AuthorizationFacetImpl">
-                    <mml:attr name="disabling">true</mml:attr>
-                    <mml:attr name="hiding">true</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.action.invocation.ActionDomainEventFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.invocation.ActionDomainEventFacetForActionAnnotation">
-                    <mml:attr name="disabling">true</mml:attr>
-                    <mml:attr name="hiding">true</mml:attr>
-                    <mml:attr name="validating">true</mml:attr>
-                    <mml:attr name="value">org.apache.isis.applib.mixins.metamodel.Object_downloadMetaModelXml.ActionDomainEvent</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.action.invocation.ActionInvocationFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.invocation.ActionInvocationFacetForDomainEventFromActionAnnotation">
-                    <mml:attr name="eventType">org.apache.isis.applib.mixins.metamodel.Object_downloadMetaModelXml.ActionDomainEvent</mml:attr>
-                    <mml:attr name="intent.act">EXECUTE</mml:attr>
-                    <mml:attr name="methods">public java.lang.Object org.apache.isis.applib.mixins.metamodel.Object_downloadMetaModelXml.act(java.lang.String)</mml:attr>
-                    <mml:attr name="onType">org.apache.isis.applib.mixins.metamodel.Object_downloadMetaModelXml</mml:attr>
-                    <mml:attr name="returnType">java.lang.Object</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.notcontributed.NotContributedFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.NotContributedFacetForActionLayoutAnnotation">
-                    <mml:attr name="contributed">AS_ACTION</mml:attr>
-                    <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.actions.notcontributed.derived.NotContributedFacetDerivedFromMixinFacet</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.position.ActionPositionFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.ActionPositionFacetForActionLayoutAnnotation">
-                    <mml:attr name="position">PANEL_DROPDOWN</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.prototype.PrototypeFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.prototype.PrototypeFacetForActionAnnotation">
-                    <mml:attr name="deploymentType">PRODUCTION</mml:attr>
-                    <mml:attr name="hiding">true</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.redirect.RedirectFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.RedirectFacetFromActionLayoutAnnotation">
-                    <mml:attr name="redirect">AS_CONFIGURED</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.semantics.ActionSemanticsFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.semantics.ActionSemanticsFacetForActionAnnotation">
-                    <mml:attr name="value">SAFE</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.all.describedas.DescribedAsFacet" fqcn="org.apache.isis.metamodel.facets.members.describedas.annotprop.DescribedAsFacetOnMemberDerivedFromType"/>
-                <mml:facet id="org.apache.isis.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.metamodel.facets.all.i18n.NamedFacetTranslated">
-                    <mml:attr name="context">domainapp.modules.simple.dom.impl.SimpleObject#downloadMetaModelXml()</mml:attr>
-                    <mml:attr name="originalText">Download Meta Model Xml</mml:attr>
-                    <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.all.named.NamedFacetInferred</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.collections.collection.defaultview.DefaultViewFacet" fqcn="org.apache.isis.metamodel.facets.collections.layout.DefaultViewFacetForCollectionLayoutAnnotation">
-                    <mml:attr name="value">hidden</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.members.cssclassfa.CssClassFaFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.CssClassFaFacetForActionLayoutAnnotation">
-                    <mml:attr name="position">LEFT</mml:attr>
-                    <mml:attr name="value">fa fa-fw fa-download</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.members.order.MemberOrderFacet" fqcn="org.apache.isis.metamodel.facets.members.order.annotprop.MemberOrderFacetAnnotation">
-                    <mml:attr name="name">metadata</mml:attr>
-                    <mml:attr name="originalName">metadata</mml:attr>
-                    <mml:attr name="sequence">700.2</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacet" fqcn="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacetFallback">
-                    <mml:attr name="bookmarkPolicy">NEVER</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacet" fqcn="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacetAsConfigured">
-                    <mml:attr name="promptStyle">INLINE</mml:attr>
-                </mml:facet>
-            </mml:facets>
-            <mml:returnType>java.lang.Object</mml:returnType>
-            <mml:params>
-                <mml:param xsi:type="mml:scalarParam" id="fileName" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-                    <mml:facets>
-                        <mml:facet id="org.apache.isis.metamodel.facets.all.describedas.DescribedAsFacet" fqcn="org.apache.isis.metamodel.facets.all.i18n.DescribedAsFacetTranslated">
-                            <mml:attr name="context">org.apache.isis.applib.mixins.metamodel.Object_downloadMetaModelXml#act(java.lang.String)</mml:attr>
-                            <mml:attr name="originalText">File name extension can be omitted.</mml:attr>
-                            <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.param.layout.DescribedAsFacetForParameterLayoutAnnotation</mml:attr>
-                        </mml:facet>
-                        <mml:facet id="org.apache.isis.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.metamodel.facets.all.i18n.NamedFacetTranslated">
-                            <mml:attr name="context">org.apache.isis.applib.mixins.metamodel.Object_downloadMetaModelXml#act(java.lang.String)</mml:attr>
-                            <mml:attr name="originalText">File name</mml:attr>
-                            <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.param.layout.NamedFacetForParameterLayoutAnnotation</mml:attr>
-                        </mml:facet>
-                        <mml:facet id="org.apache.isis.metamodel.facets.objectvalue.labelat.LabelAtFacet" fqcn="org.apache.isis.metamodel.facets.fallback.LabelAtFacetFromLayoutConfiguration">
-                            <mml:attr name="label">NOT_SPECIFIED</mml:attr>
-                            <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.fallback.LabelAtFacetFromLayoutConfiguration</mml:attr>
-                        </mml:facet>
-                        <mml:facet id="org.apache.isis.metamodel.facets.objectvalue.mandatory.MandatoryFacet" fqcn="org.apache.isis.metamodel.facets.objectvalue.mandatory.MandatoryFacetDefault">
-                            <mml:attr name="inverted">false</mml:attr>
-                            <mml:attr name="semantics">REQUIRED</mml:attr>
-                            <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.objectvalue.mandatory.MandatoryFacetDefault</mml:attr>
-                            <mml:attr name="validating">true</mml:attr>
-                        </mml:facet>
-                        <mml:facet id="org.apache.isis.metamodel.facets.param.defaults.ActionParameterDefaultsFacet" fqcn="org.apache.isis.metamodel.facets.param.defaults.methodnum.ActionParameterDefaultsFacetViaMethod">
-                            <mml:attr name="intent.default0Act">DEFAULTS</mml:attr>
-                            <mml:attr name="methods">public java.lang.String org.apache.isis.applib.mixins.metamodel.Object_downloadMetaModelXml.default0Act()</mml:attr>
-                        </mml:facet>
-                    </mml:facets>
-                    <mml:type>java.lang.String</mml:type>
-                </mml:param>
-            </mml:params>
-        </mml:act>
-        <mml:act id="openRestApi">
-            <mml:facets>
-                <mml:facet id="org.apache.isis.metamodel.authorization.standard.AuthorizationFacet" fqcn="org.apache.isis.metamodel.authorization.standard.AuthorizationFacetImpl">
-                    <mml:attr name="disabling">true</mml:attr>
-                    <mml:attr name="hiding">true</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.action.invocation.ActionDomainEventFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.invocation.ActionDomainEventFacetForActionAnnotation">
-                    <mml:attr name="disabling">true</mml:attr>
-                    <mml:attr name="hiding">true</mml:attr>
-                    <mml:attr name="validating">true</mml:attr>
-                    <mml:attr name="value">org.apache.isis.applib.mixins.layout.Object_openRestApi.ActionDomainEvent</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.action.invocation.ActionInvocationFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.invocation.ActionInvocationFacetForDomainEventFromActionAnnotation">
-                    <mml:attr name="eventType">org.apache.isis.applib.mixins.layout.Object_openRestApi.ActionDomainEvent</mml:attr>
-                    <mml:attr name="intent.act">EXECUTE</mml:attr>
-                    <mml:attr name="methods">public org.apache.isis.applib.value.LocalResourcePath org.apache.isis.applib.mixins.layout.Object_openRestApi.act()</mml:attr>
-                    <mml:attr name="onType">org.apache.isis.applib.mixins.layout.Object_openRestApi</mml:attr>
-                    <mml:attr name="returnType">org.apache.isis.applib.value.LocalResourcePath</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.notcontributed.NotContributedFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.NotContributedFacetForActionLayoutAnnotation">
-                    <mml:attr name="contributed">AS_ACTION</mml:attr>
-                    <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.actions.notcontributed.derived.NotContributedFacetDerivedFromMixinFacet</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.position.ActionPositionFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.ActionPositionFacetForActionLayoutAnnotation">
-                    <mml:attr name="position">PANEL_DROPDOWN</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.prototype.PrototypeFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.prototype.PrototypeFacetForActionAnnotation">
-                    <mml:attr name="deploymentType">PRODUCTION</mml:attr>
-                    <mml:attr name="hiding">true</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.redirect.RedirectFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.RedirectFacetFromActionLayoutAnnotation">
-                    <mml:attr name="redirect">AS_CONFIGURED</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.semantics.ActionSemanticsFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.semantics.ActionSemanticsFacetForActionAnnotation">
-                    <mml:attr name="value">SAFE</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.all.describedas.DescribedAsFacet" fqcn="org.apache.isis.metamodel.facets.members.describedas.annotprop.DescribedAsFacetOnMemberDerivedFromType"/>
-                <mml:facet id="org.apache.isis.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.metamodel.facets.all.i18n.NamedFacetTranslated">
-                    <mml:attr name="context">domainapp.modules.simple.dom.impl.SimpleObject#openRestApi()</mml:attr>
-                    <mml:attr name="originalText">Open Rest Api</mml:attr>
-                    <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.all.named.NamedFacetInferred</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.collections.collection.defaultview.DefaultViewFacet" fqcn="org.apache.isis.metamodel.facets.collections.layout.DefaultViewFacetForCollectionLayoutAnnotation">
-                    <mml:attr name="value">hidden</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.members.cssclassfa.CssClassFaFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.CssClassFaFacetForActionLayoutAnnotation">
-                    <mml:attr name="position">LEFT</mml:attr>
-                    <mml:attr name="value">fa fa-fw fa-external-link</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.members.order.MemberOrderFacet" fqcn="org.apache.isis.metamodel.facets.members.order.annotprop.MemberOrderFacetAnnotation">
-                    <mml:attr name="name">metadata</mml:attr>
-                    <mml:attr name="originalName">metadata</mml:attr>
-                    <mml:attr name="sequence">750.1</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacet" fqcn="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacetFallback">
-                    <mml:attr name="bookmarkPolicy">NEVER</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacet" fqcn="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacetAsConfigured">
-                    <mml:attr name="promptStyle">INLINE</mml:attr>
-                </mml:facet>
-            </mml:facets>
-            <mml:returnType>org.apache.isis.applib.value.LocalResourcePath</mml:returnType>
-            <mml:params/>
-        </mml:act>
-        <mml:act id="rebuildMetamodel">
-            <mml:facets>
-                <mml:facet id="org.apache.isis.metamodel.authorization.standard.AuthorizationFacet" fqcn="org.apache.isis.metamodel.authorization.standard.AuthorizationFacetImpl">
-                    <mml:attr name="disabling">true</mml:attr>
-                    <mml:attr name="hiding">true</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.action.invocation.ActionDomainEventFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.invocation.ActionDomainEventFacetForActionAnnotation">
-                    <mml:attr name="disabling">true</mml:attr>
-                    <mml:attr name="hiding">true</mml:attr>
-                    <mml:attr name="validating">true</mml:attr>
-                    <mml:attr name="value">org.apache.isis.applib.mixins.layout.Object_rebuildMetamodel.ActionDomainEvent</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.action.invocation.ActionInvocationFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.invocation.ActionInvocationFacetForDomainEventFromActionAnnotation">
-                    <mml:attr name="eventType">org.apache.isis.applib.mixins.layout.Object_rebuildMetamodel.ActionDomainEvent</mml:attr>
-                    <mml:attr name="intent.act">EXECUTE</mml:attr>
-                    <mml:attr name="methods">public java.lang.Object org.apache.isis.applib.mixins.layout.Object_rebuildMetamodel.act()</mml:attr>
-                    <mml:attr name="onType">org.apache.isis.applib.mixins.layout.Object_rebuildMetamodel</mml:attr>
-                    <mml:attr name="returnType">java.lang.Object</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.notcontributed.NotContributedFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.NotContributedFacetForActionLayoutAnnotation">
-                    <mml:attr name="contributed">AS_ACTION</mml:attr>
-                    <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.actions.notcontributed.derived.NotContributedFacetDerivedFromMixinFacet</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.position.ActionPositionFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.ActionPositionFacetForActionLayoutAnnotation">
-                    <mml:attr name="position">PANEL</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.prototype.PrototypeFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.prototype.PrototypeFacetForActionAnnotation">
-                    <mml:attr name="deploymentType">PRODUCTION</mml:attr>
-                    <mml:attr name="hiding">true</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.redirect.RedirectFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.RedirectFacetFromActionLayoutAnnotation">
-                    <mml:attr name="redirect">AS_CONFIGURED</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.semantics.ActionSemanticsFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.semantics.ActionSemanticsFacetForActionAnnotation">
-                    <mml:attr name="value">IDEMPOTENT</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.all.describedas.DescribedAsFacet" fqcn="org.apache.isis.metamodel.facets.members.describedas.annotprop.DescribedAsFacetOnMemberDerivedFromType"/>
-                <mml:facet id="org.apache.isis.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.metamodel.facets.all.i18n.NamedFacetTranslated">
-                    <mml:attr name="context">domainapp.modules.simple.dom.impl.SimpleObject#rebuildMetamodel()</mml:attr>
-                    <mml:attr name="originalText">Rebuild Metamodel</mml:attr>
-                    <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.all.named.NamedFacetInferred</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.collections.collection.defaultview.DefaultViewFacet" fqcn="org.apache.isis.metamodel.facets.collections.layout.DefaultViewFacetForCollectionLayoutAnnotation">
-                    <mml:attr name="value">hidden</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.members.cssclassfa.CssClassFaFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.CssClassFaFacetForActionLayoutAnnotation">
-                    <mml:attr name="position">LEFT</mml:attr>
-                    <mml:attr name="value">fa fa-fw fa-refresh</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.members.order.MemberOrderFacet" fqcn="org.apache.isis.metamodel.facets.members.order.annotprop.MemberOrderFacetAnnotation">
-                    <mml:attr name="name">metadata</mml:attr>
-                    <mml:attr name="originalName">metadata</mml:attr>
-                    <mml:attr name="sequence">800.1</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacet" fqcn="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacetFallback">
-                    <mml:attr name="bookmarkPolicy">NEVER</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacet" fqcn="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacetAsConfigured">
-                    <mml:attr name="promptStyle">INLINE</mml:attr>
-                </mml:facet>
-            </mml:facets>
-            <mml:returnType>java.lang.Object</mml:returnType>
-            <mml:params/>
-        </mml:act>
-        <mml:act id="updateName">
-            <mml:facets>
-                <mml:facet id="org.apache.isis.metamodel.authorization.standard.AuthorizationFacet" fqcn="org.apache.isis.metamodel.authorization.standard.AuthorizationFacetImpl">
-                    <mml:attr name="disabling">true</mml:attr>
-                    <mml:attr name="hiding">true</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.action.associateWith.AssociatedWithFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.associateWith.AssociatedWithFacetForActionAnnotation">
-                    <mml:attr name="value">name</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.action.invocation.ActionDomainEventFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.invocation.ActionDomainEventFacetDefault">
-                    <mml:attr name="disabling">true</mml:attr>
-                    <mml:attr name="hiding">true</mml:attr>
-                    <mml:attr name="validating">true</mml:attr>
-                    <mml:attr name="value">org.apache.isis.applib.events.domain.ActionDomainEvent.Default</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.action.invocation.ActionInvocationFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.invocation.ActionInvocationFacetForDomainEventFromDefault">
-                    <mml:attr name="eventType">org.apache.isis.applib.events.domain.ActionDomainEvent.Default</mml:attr>
-                    <mml:attr name="intent.updateName">EXECUTE</mml:attr>
-                    <mml:attr name="methods">public domainapp.modules.simple.dom.impl.SimpleObject domainapp.modules.simple.dom.impl.SimpleObject.updateName(java.lang.String)</mml:attr>
-                    <mml:attr name="onType">domainapp.modules.simple.dom.impl.SimpleObject</mml:attr>
-                    <mml:attr name="returnType">domainapp.modules.simple.dom.impl.SimpleObject</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.command.CommandFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.command.CommandFacetForActionAnnotation">
-                    <mml:attr name="disabled">false</mml:attr>
-                    <mml:attr name="executeIn">FOREGROUND</mml:attr>
-                    <mml:attr name="persistence">PERSISTED</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.position.ActionPositionFacet" fqcn="org.apache.isis.metamodel.facets.actions.position.ActionPositionFacetFallback">
-                    <mml:attr name="position">BELOW</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.publish.PublishedActionFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.publishing.PublishedActionFacetForActionAnnotation"/>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.redirect.RedirectFacet" fqcn="org.apache.isis.metamodel.facets.actions.redirect.RedirectFacetFallback">
-                    <mml:attr name="redirect">AS_CONFIGURED</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.semantics.ActionSemanticsFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.semantics.ActionSemanticsFacetForActionAnnotation">
-                    <mml:attr name="value">IDEMPOTENT</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.all.describedas.DescribedAsFacet" fqcn="org.apache.isis.metamodel.facets.members.describedas.annotprop.DescribedAsFacetOnMemberDerivedFromType"/>
-                <mml:facet id="org.apache.isis.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.metamodel.facets.all.i18n.NamedFacetTranslated">
-                    <mml:attr name="context">domainapp.modules.simple.dom.impl.SimpleObject#updateName()</mml:attr>
-                    <mml:attr name="originalText">Update Name</mml:attr>
-                    <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.fallback.NamedFacetDefault</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.collections.collection.defaultview.DefaultViewFacet" fqcn="org.apache.isis.metamodel.facets.collections.layout.DefaultViewFacetForCollectionLayoutAnnotation">
-                    <mml:attr name="value">hidden</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.members.order.MemberOrderFacet" fqcn="org.apache.isis.metamodel.facets.members.order.annotprop.MemberOrderFacetForActionAnnotation">
-                    <mml:attr name="name">name</mml:attr>
-                    <mml:attr name="originalName">name</mml:attr>
-                    <mml:attr name="sequence">1</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacet" fqcn="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacetFallback">
-                    <mml:attr name="bookmarkPolicy">NEVER</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacet" fqcn="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacetAsConfigured">
-                    <mml:attr name="promptStyle">INLINE</mml:attr>
-                </mml:facet>
-            </mml:facets>
-            <mml:returnType>domainapp.modules.simple.dom.impl.SimpleObject</mml:returnType>
-            <mml:params>
-                <mml:param xsi:type="mml:scalarParam" id="name" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-                    <mml:facets>
-                        <mml:facet id="org.apache.isis.metamodel.facets.actions.defaults.ActionDefaultsFacet" fqcn="org.apache.isis.metamodel.facets.param.defaults.fromtype.ActionParameterDefaultFacetDerivedFromTypeFacets">
-                            <mml:attr name="defaultFacets">org.apache.isis.metamodel.facets.object.defaults.DefaultedFacetUsingDefaultsProvider</mml:attr>
-                            <mml:attr name="derived">true</mml:attr>
-                        </mml:facet>
-                        <mml:facet id="org.apache.isis.metamodel.facets.all.describedas.DescribedAsFacet" fqcn="org.apache.isis.metamodel.facets.param.describedas.annotderived.DescribedAsFacetOnParameterDerivedFromType"/>
-                        <mml:facet id="org.apache.isis.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.metamodel.facets.all.i18n.NamedFacetTranslated">
-                            <mml:attr name="context">domainapp.modules.simple.dom.impl.SimpleObject#updateName(java.lang.String)</mml:attr>
-                            <mml:attr name="originalText">Name</mml:attr>
-                            <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.param.layout.NamedFacetForParameterLayoutAnnotation</mml:attr>
-                        </mml:facet>
-                        <mml:facet id="org.apache.isis.metamodel.facets.objectvalue.labelat.LabelAtFacet" fqcn="org.apache.isis.metamodel.facets.fallback.LabelAtFacetFromLayoutConfiguration">
-                            <mml:attr name="label">NOT_SPECIFIED</mml:attr>
-                            <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.fallback.LabelAtFacetFromLayoutConfiguration</mml:attr>
-                        </mml:facet>
-                        <mml:facet id="org.apache.isis.metamodel.facets.objectvalue.mandatory.MandatoryFacet" fqcn="org.apache.isis.metamodel.facets.objectvalue.mandatory.MandatoryFacetDefault">
-                            <mml:attr name="inverted">false</mml:attr>
-                            <mml:attr name="semantics">REQUIRED</mml:attr>
-                            <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.objectvalue.mandatory.MandatoryFacetDefault</mml:attr>
-                            <mml:attr name="validating">true</mml:attr>
-                        </mml:facet>
-                        <mml:facet id="org.apache.isis.metamodel.facets.objectvalue.maxlen.MaxLengthFacet" fqcn="org.apache.isis.metamodel.facets.param.parameter.maxlen.MaxLengthFacetForParameterAnnotation">
-                            <mml:attr name="validating">true</mml:attr>
-                            <mml:attr name="value">40</mml:attr>
-                        </mml:facet>
-                        <mml:facet id="org.apache.isis.metamodel.facets.objectvalue.mustsatisfyspec.MustSatisfySpecificationFacet" fqcn="org.apache.isis.metamodel.facets.param.parameter.mustsatisfy.MustSatisfySpecificationFacetForParameterAnnotation">
-                            <mml:attr name="specifications">domainapp.modules.simple.dom.types.Name$NoExclamationMarks</mml:attr>
-                            <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.param.parameter.mustsatisfy.MustSatisfySpecificationFacetForParameterAnnotation</mml:attr>
-                            <mml:attr name="validating">true</mml:attr>
-                        </mml:facet>
-                        <mml:facet id="org.apache.isis.metamodel.facets.objectvalue.typicallen.TypicalLengthFacet" fqcn="org.apache.isis.metamodel.facets.param.typicallen.fromtype.TypicalLengthFacetOnParameterDerivedFromType">
-                            <mml:attr name="derived">true</mml:attr>
-                            <mml:attr name="typicalLengthFacet">org.apache.isis.metamodel.facets.object.value.TypicalLengthFacetUsingParser</mml:attr>
-                        </mml:facet>
-                        <mml:facet id="org.apache.isis.metamodel.facets.param.defaults.ActionParameterDefaultsFacet" fqcn="org.apache.isis.metamodel.facets.param.defaults.methodnum.ActionParameterDefaultsFacetViaMethod">
-                            <mml:attr name="intent.default0UpdateName">DEFAULTS</mml:attr>
-                            <mml:attr name="methods">public java.lang.String domainapp.modules.simple.dom.impl.SimpleObject.default0UpdateName()</mml:attr>
-                        </mml:facet>
-                    </mml:facets>
-                    <mml:type>java.lang.String</mml:type>
-                </mml:param>
-            </mml:params>
-        </mml:act>
-    </mml:actions>
-</mml:domainClassDto>
diff --git a/starters/simpleapp/application/src/test/java/domainapp/application/integtests/mml/approved/domainapp.modules.simple.dom.impl.SimpleObjects.xml b/starters/simpleapp/application/src/test/java/domainapp/application/integtests/mml/approved/domainapp.modules.simple.dom.impl.SimpleObjects.xml
deleted file mode 100644
index 6e0d8442..0000000
--- a/starters/simpleapp/application/src/test/java/domainapp/application/integtests/mml/approved/domainapp.modules.simple.dom.impl.SimpleObjects.xml
+++ /dev/null
@@ -1,399 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<mml:domainClassDto id="domainapp.modules.simple.dom.impl.SimpleObjects" service="true" xmlns:mml="http://isis.apache.org/schema/metamodel">
-    <mml:facets>
-        <mml:facet id="org.apache.isis.metamodel.authorization.standard.AuthorizationFacet" fqcn="org.apache.isis.metamodel.authorization.standard.AuthorizationFacetImpl">
-            <mml:attr name="disabling">true</mml:attr>
-            <mml:attr name="hiding">true</mml:attr>
-        </mml:facet>
-        <mml:facet id="org.apache.isis.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.metamodel.facets.all.named.NamedFacetInferred">
-            <mml:attr name="escaped">true</mml:attr>
-            <mml:attr name="value">Simple Objects</mml:attr>
-        </mml:facet>
-        <mml:facet id="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacet" fqcn="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacetFallback">
-            <mml:attr name="bookmarkPolicy">NEVER</mml:attr>
-        </mml:facet>
-        <mml:facet id="org.apache.isis.metamodel.facets.object.domainservice.DomainServiceFacet" fqcn="org.apache.isis.metamodel.facets.object.domainservice.annotation.DomainServiceFacetAnnotation">
-            <mml:attr name="natureOfService">VIEW</mml:attr>
-            <mml:attr name="repositoryFor">java.lang.Object</mml:attr>
-        </mml:facet>
-        <mml:facet id="org.apache.isis.metamodel.facets.object.domainservicelayout.DomainServiceLayoutFacet" fqcn="org.apache.isis.metamodel.facets.object.domainservicelayout.annotation.DomainServiceLayoutFacetAnnotation">
-            <mml:attr name="menuBar">PRIMARY</mml:attr>
-        </mml:facet>
-        <mml:facet id="org.apache.isis.metamodel.facets.object.grid.GridFacet" fqcn="org.apache.isis.metamodel.facets.object.grid.GridFacetDefault"/>
-        <mml:facet id="org.apache.isis.metamodel.facets.object.icon.IconFacet" fqcn="org.apache.isis.metamodel.facets.object.domainservice.annotation.IconFacetDerivedFromDomainServiceAnnotation">
-            <mml:attr name="repositoryFor">java.lang.Object</mml:attr>
-        </mml:facet>
-        <mml:facet id="org.apache.isis.metamodel.facets.object.layout.LayoutFacet" fqcn="org.apache.isis.metamodel.facets.object.layout.LayoutFacetFallback">
-            <mml:attr name="derived">true</mml:attr>
-        </mml:facet>
-        <mml:facet id="org.apache.isis.metamodel.facets.object.objectspecid.ObjectSpecIdFacet" fqcn="org.apache.isis.metamodel.facets.object.objectspecid.classname.ObjectSpecIdFacetDerivedFromIoCNamingStrategy">
-            <mml:attr name="value">simple.SimpleObjects</mml:attr>
-        </mml:facet>
-        <mml:facet id="org.apache.isis.metamodel.facets.object.objectvalidprops.ObjectValidPropertiesFacet" fqcn="org.apache.isis.metamodel.facets.object.objectvalidprops.impl.ObjectValidPropertiesFacetImpl">
-            <mml:attr name="validating">true</mml:attr>
-        </mml:facet>
-        <mml:facet id="org.apache.isis.metamodel.facets.object.paged.PagedFacet" fqcn="org.apache.isis.metamodel.facets.fallback.PagedFacetFromConfiguration">
-            <mml:attr name="derived">true</mml:attr>
-            <mml:attr name="value">25</mml:attr>
-        </mml:facet>
-        <mml:facet id="org.apache.isis.metamodel.facets.object.plural.PluralFacet" fqcn="org.apache.isis.metamodel.facets.object.plural.inferred.PluralFacetInferred">
-            <mml:attr name="derived">true</mml:attr>
-            <mml:attr name="value">Simple Objectses</mml:attr>
-        </mml:facet>
-    </mml:facets>
-    <mml:actions>
-        <mml:act id="create">
-            <mml:facets>
-                <mml:facet id="org.apache.isis.metamodel.authorization.standard.AuthorizationFacet" fqcn="org.apache.isis.metamodel.authorization.standard.AuthorizationFacetImpl">
-                    <mml:attr name="disabling">true</mml:attr>
-                    <mml:attr name="hiding">true</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.action.invocation.ActionDomainEventFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.invocation.ActionDomainEventFacetForActionAnnotation">
-                    <mml:attr name="disabling">true</mml:attr>
-                    <mml:attr name="hiding">true</mml:attr>
-                    <mml:attr name="validating">true</mml:attr>
-                    <mml:attr name="value">domainapp.modules.simple.dom.impl.SimpleObjects.CreateDomainEvent</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.action.invocation.ActionInvocationFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.invocation.ActionInvocationFacetForDomainEventFromActionAnnotation">
-                    <mml:attr name="eventType">domainapp.modules.simple.dom.impl.SimpleObjects.CreateDomainEvent</mml:attr>
-                    <mml:attr name="intent.create">EXECUTE</mml:attr>
-                    <mml:attr name="methods">public domainapp.modules.simple.dom.impl.SimpleObject domainapp.modules.simple.dom.impl.SimpleObjects.create(java.lang.String)</mml:attr>
-                    <mml:attr name="onType">domainapp.modules.simple.dom.impl.SimpleObjects</mml:attr>
-                    <mml:attr name="returnType">domainapp.modules.simple.dom.impl.SimpleObject</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.position.ActionPositionFacet" fqcn="org.apache.isis.metamodel.facets.actions.position.ActionPositionFacetFallback">
-                    <mml:attr name="position">BELOW</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.redirect.RedirectFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.RedirectFacetFromActionLayoutAnnotation">
-                    <mml:attr name="redirect">AS_CONFIGURED</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.semantics.ActionSemanticsFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.semantics.ActionSemanticsFacetFallbackToNonIdempotent">
-                    <mml:attr name="value">NON_IDEMPOTENT</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.all.describedas.DescribedAsFacet" fqcn="org.apache.isis.metamodel.facets.members.describedas.annotprop.DescribedAsFacetOnMemberDerivedFromType"/>
-                <mml:facet id="org.apache.isis.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.metamodel.facets.all.i18n.NamedFacetTranslated">
-                    <mml:attr name="context">domainapp.modules.simple.dom.impl.SimpleObjects#create()</mml:attr>
-                    <mml:attr name="originalText">Create</mml:attr>
-                    <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.fallback.NamedFacetDefault</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.collections.collection.defaultview.DefaultViewFacet" fqcn="org.apache.isis.metamodel.facets.collections.layout.DefaultViewFacetForCollectionLayoutAnnotation">
-                    <mml:attr name="value">hidden</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacet" fqcn="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacetFallback">
-                    <mml:attr name="bookmarkPolicy">NEVER</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.PromptStyleFacetForActionLayoutAnnotation">
-                    <mml:attr name="promptStyle">DIALOG_MODAL</mml:attr>
-                </mml:facet>
-            </mml:facets>
-            <mml:returnType>domainapp.modules.simple.dom.impl.SimpleObject</mml:returnType>
-            <mml:params>
-                <mml:param xsi:type="mml:scalarParam" id="name" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-                    <mml:facets>
-                        <mml:facet id="org.apache.isis.metamodel.facets.actions.defaults.ActionDefaultsFacet" fqcn="org.apache.isis.metamodel.facets.param.defaults.fromtype.ActionParameterDefaultFacetDerivedFromTypeFacets">
-                            <mml:attr name="defaultFacets">org.apache.isis.metamodel.facets.object.defaults.DefaultedFacetUsingDefaultsProvider</mml:attr>
-                            <mml:attr name="derived">true</mml:attr>
-                        </mml:facet>
-                        <mml:facet id="org.apache.isis.metamodel.facets.all.describedas.DescribedAsFacet" fqcn="org.apache.isis.metamodel.facets.param.describedas.annotderived.DescribedAsFacetOnParameterDerivedFromType"/>
-                        <mml:facet id="org.apache.isis.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.metamodel.facets.all.i18n.NamedFacetTranslated">
-                            <mml:attr name="context">domainapp.modules.simple.dom.impl.SimpleObjects#create(java.lang.String)</mml:attr>
-                            <mml:attr name="originalText">Name</mml:attr>
-                            <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.param.layout.NamedFacetForParameterLayoutAnnotation</mml:attr>
-                        </mml:facet>
-                        <mml:facet id="org.apache.isis.metamodel.facets.objectvalue.labelat.LabelAtFacet" fqcn="org.apache.isis.metamodel.facets.fallback.LabelAtFacetFromLayoutConfiguration">
-                            <mml:attr name="label">NOT_SPECIFIED</mml:attr>
-                            <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.fallback.LabelAtFacetFromLayoutConfiguration</mml:attr>
-                        </mml:facet>
-                        <mml:facet id="org.apache.isis.metamodel.facets.objectvalue.mandatory.MandatoryFacet" fqcn="org.apache.isis.metamodel.facets.objectvalue.mandatory.MandatoryFacetDefault">
-                            <mml:attr name="inverted">false</mml:attr>
-                            <mml:attr name="semantics">REQUIRED</mml:attr>
-                            <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.objectvalue.mandatory.MandatoryFacetDefault</mml:attr>
-                            <mml:attr name="validating">true</mml:attr>
-                        </mml:facet>
-                        <mml:facet id="org.apache.isis.metamodel.facets.objectvalue.maxlen.MaxLengthFacet" fqcn="org.apache.isis.metamodel.facets.param.parameter.maxlen.MaxLengthFacetForParameterAnnotation">
-                            <mml:attr name="validating">true</mml:attr>
-                            <mml:attr name="value">40</mml:attr>
-                        </mml:facet>
-                        <mml:facet id="org.apache.isis.metamodel.facets.objectvalue.mustsatisfyspec.MustSatisfySpecificationFacet" fqcn="org.apache.isis.metamodel.facets.param.parameter.mustsatisfy.MustSatisfySpecificationFacetForParameterAnnotation">
-                            <mml:attr name="specifications">domainapp.modules.simple.dom.types.Name$NoExclamationMarks</mml:attr>
-                            <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.param.parameter.mustsatisfy.MustSatisfySpecificationFacetForParameterAnnotation</mml:attr>
-                            <mml:attr name="validating">true</mml:attr>
-                        </mml:facet>
-                        <mml:facet id="org.apache.isis.metamodel.facets.objectvalue.typicallen.TypicalLengthFacet" fqcn="org.apache.isis.metamodel.facets.param.typicallen.fromtype.TypicalLengthFacetOnParameterDerivedFromType">
-                            <mml:attr name="derived">true</mml:attr>
-                            <mml:attr name="typicalLengthFacet">org.apache.isis.metamodel.facets.object.value.TypicalLengthFacetUsingParser</mml:attr>
-                        </mml:facet>
-                    </mml:facets>
-                    <mml:type>java.lang.String</mml:type>
-                </mml:param>
-            </mml:params>
-        </mml:act>
-        <mml:act id="findByName">
-            <mml:facets>
-                <mml:facet id="org.apache.isis.metamodel.authorization.standard.AuthorizationFacet" fqcn="org.apache.isis.metamodel.authorization.standard.AuthorizationFacetImpl">
-                    <mml:attr name="disabling">true</mml:attr>
-                    <mml:attr name="hiding">true</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actcoll.typeof.TypeOfFacet" fqcn="org.apache.isis.metamodel.facets.actcoll.typeof.TypeOfFacetInferredFromGenerics">
-                    <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.actcoll.typeof.TypeOfFacetInferredFromGenerics</mml:attr>
-                    <mml:attr name="value">domainapp.modules.simple.dom.impl.SimpleObject</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.action.invocation.ActionDomainEventFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.invocation.ActionDomainEventFacetDefault">
-                    <mml:attr name="disabling">true</mml:attr>
-                    <mml:attr name="hiding">true</mml:attr>
-                    <mml:attr name="validating">true</mml:attr>
-                    <mml:attr name="value">org.apache.isis.applib.events.domain.ActionDomainEvent.Default</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.action.invocation.ActionInvocationFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.invocation.ActionInvocationFacetForDomainEventFromDefault">
-                    <mml:attr name="eventType">org.apache.isis.applib.events.domain.ActionDomainEvent.Default</mml:attr>
-                    <mml:attr name="intent.findByName">EXECUTE</mml:attr>
-                    <mml:attr name="methods">public java.util.List&lt;domainapp.modules.simple.dom.impl.SimpleObject&gt; domainapp.modules.simple.dom.impl.SimpleObjects.findByName(java.lang.String)</mml:attr>
-                    <mml:attr name="onType">domainapp.modules.simple.dom.impl.SimpleObjects</mml:attr>
-                    <mml:attr name="returnType">java.util.List</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.position.ActionPositionFacet" fqcn="org.apache.isis.metamodel.facets.actions.position.ActionPositionFacetFallback">
-                    <mml:attr name="position">BELOW</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.redirect.RedirectFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.RedirectFacetFromActionLayoutAnnotation">
-                    <mml:attr name="redirect">AS_CONFIGURED</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.semantics.ActionSemanticsFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.semantics.ActionSemanticsFacetForActionAnnotation">
-                    <mml:attr name="value">SAFE</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.all.describedas.DescribedAsFacet" fqcn="org.apache.isis.metamodel.facets.members.describedas.annotprop.DescribedAsFacetOnMemberDerivedFromType"/>
-                <mml:facet id="org.apache.isis.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.metamodel.facets.all.i18n.NamedFacetTranslated">
-                    <mml:attr name="context">domainapp.modules.simple.dom.impl.SimpleObjects#findByName()</mml:attr>
-                    <mml:attr name="originalText">Find By Name</mml:attr>
-                    <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.fallback.NamedFacetDefault</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.collections.collection.defaultview.DefaultViewFacet" fqcn="org.apache.isis.metamodel.facets.collections.layout.DefaultViewFacetForCollectionLayoutAnnotation">
-                    <mml:attr name="value">hidden</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.BookmarkPolicyFacetForActionLayoutAnnotation">
-                    <mml:attr name="bookmarkPolicy">AS_ROOT</mml:attr>
-                    <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacetFallback</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.PromptStyleFacetForActionLayoutAnnotation">
-                    <mml:attr name="promptStyle">DIALOG_SIDEBAR</mml:attr>
-                </mml:facet>
-            </mml:facets>
-            <mml:returnType>java.util.List</mml:returnType>
-            <mml:params>
-                <mml:param xsi:type="mml:scalarParam" id="name" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-                    <mml:facets>
-                        <mml:facet id="org.apache.isis.metamodel.facets.actions.defaults.ActionDefaultsFacet" fqcn="org.apache.isis.metamodel.facets.param.defaults.fromtype.ActionParameterDefaultFacetDerivedFromTypeFacets">
-                            <mml:attr name="defaultFacets">org.apache.isis.metamodel.facets.object.defaults.DefaultedFacetUsingDefaultsProvider</mml:attr>
-                            <mml:attr name="derived">true</mml:attr>
-                        </mml:facet>
-                        <mml:facet id="org.apache.isis.metamodel.facets.all.describedas.DescribedAsFacet" fqcn="org.apache.isis.metamodel.facets.param.describedas.annotderived.DescribedAsFacetOnParameterDerivedFromType"/>
-                        <mml:facet id="org.apache.isis.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.metamodel.facets.all.i18n.NamedFacetTranslated">
-                            <mml:attr name="context">domainapp.modules.simple.dom.impl.SimpleObjects#findByName(java.lang.String)</mml:attr>
-                            <mml:attr name="originalText">Name</mml:attr>
-                            <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.param.layout.NamedFacetForParameterLayoutAnnotation</mml:attr>
-                        </mml:facet>
-                        <mml:facet id="org.apache.isis.metamodel.facets.objectvalue.labelat.LabelAtFacet" fqcn="org.apache.isis.metamodel.facets.fallback.LabelAtFacetFromLayoutConfiguration">
-                            <mml:attr name="label">NOT_SPECIFIED</mml:attr>
-                            <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.fallback.LabelAtFacetFromLayoutConfiguration</mml:attr>
-                        </mml:facet>
-                        <mml:facet id="org.apache.isis.metamodel.facets.objectvalue.mandatory.MandatoryFacet" fqcn="org.apache.isis.metamodel.facets.objectvalue.mandatory.MandatoryFacetDefault">
-                            <mml:attr name="inverted">false</mml:attr>
-                            <mml:attr name="semantics">REQUIRED</mml:attr>
-                            <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.objectvalue.mandatory.MandatoryFacetDefault</mml:attr>
-                            <mml:attr name="validating">true</mml:attr>
-                        </mml:facet>
-                        <mml:facet id="org.apache.isis.metamodel.facets.objectvalue.maxlen.MaxLengthFacet" fqcn="org.apache.isis.metamodel.facets.param.parameter.maxlen.MaxLengthFacetForParameterAnnotation">
-                            <mml:attr name="validating">true</mml:attr>
-                            <mml:attr name="value">40</mml:attr>
-                        </mml:facet>
-                        <mml:facet id="org.apache.isis.metamodel.facets.objectvalue.mustsatisfyspec.MustSatisfySpecificationFacet" fqcn="org.apache.isis.metamodel.facets.param.parameter.mustsatisfy.MustSatisfySpecificationFacetForParameterAnnotation">
-                            <mml:attr name="specifications">domainapp.modules.simple.dom.types.Name$NoExclamationMarks</mml:attr>
-                            <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.param.parameter.mustsatisfy.MustSatisfySpecificationFacetForParameterAnnotation</mml:attr>
-                            <mml:attr name="validating">true</mml:attr>
-                        </mml:facet>
-                        <mml:facet id="org.apache.isis.metamodel.facets.objectvalue.typicallen.TypicalLengthFacet" fqcn="org.apache.isis.metamodel.facets.param.typicallen.fromtype.TypicalLengthFacetOnParameterDerivedFromType">
-                            <mml:attr name="derived">true</mml:attr>
-                            <mml:attr name="typicalLengthFacet">org.apache.isis.metamodel.facets.object.value.TypicalLengthFacetUsingParser</mml:attr>
-                        </mml:facet>
-                    </mml:facets>
-                    <mml:type>java.lang.String</mml:type>
-                </mml:param>
-            </mml:params>
-        </mml:act>
-        <mml:act id="findByNameExact">
-            <mml:facets>
-                <mml:facet id="org.apache.isis.metamodel.authorization.standard.AuthorizationFacet" fqcn="org.apache.isis.metamodel.authorization.standard.AuthorizationFacetImpl">
-                    <mml:attr name="disabling">true</mml:attr>
-                    <mml:attr name="hiding">true</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.action.invocation.ActionDomainEventFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.invocation.ActionDomainEventFacetDefault">
-                    <mml:attr name="disabling">true</mml:attr>
-                    <mml:attr name="hiding">true</mml:attr>
-                    <mml:attr name="validating">true</mml:attr>
-                    <mml:attr name="value">org.apache.isis.applib.events.domain.ActionDomainEvent.Default</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.action.invocation.ActionInvocationFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.invocation.ActionInvocationFacetForDomainEventFromDefault">
-                    <mml:attr name="eventType">org.apache.isis.applib.events.domain.ActionDomainEvent.Default</mml:attr>
-                    <mml:attr name="intent.findByNameExact">EXECUTE</mml:attr>
-                    <mml:attr name="methods">public domainapp.modules.simple.dom.impl.SimpleObject domainapp.modules.simple.dom.impl.SimpleObjects.findByNameExact(java.lang.String)</mml:attr>
-                    <mml:attr name="onType">domainapp.modules.simple.dom.impl.SimpleObjects</mml:attr>
-                    <mml:attr name="returnType">domainapp.modules.simple.dom.impl.SimpleObject</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.position.ActionPositionFacet" fqcn="org.apache.isis.metamodel.facets.actions.position.ActionPositionFacetFallback">
-                    <mml:attr name="position">BELOW</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.redirect.RedirectFacet" fqcn="org.apache.isis.metamodel.facets.actions.redirect.RedirectFacetFallback">
-                    <mml:attr name="redirect">AS_CONFIGURED</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.semantics.ActionSemanticsFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.semantics.ActionSemanticsFacetFallbackToNonIdempotent">
-                    <mml:attr name="value">NON_IDEMPOTENT</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.all.describedas.DescribedAsFacet" fqcn="org.apache.isis.metamodel.facets.members.describedas.annotprop.DescribedAsFacetOnMemberDerivedFromType"/>
-                <mml:facet id="org.apache.isis.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.metamodel.facets.all.i18n.NamedFacetTranslated">
-                    <mml:attr name="context">domainapp.modules.simple.dom.impl.SimpleObjects#findByNameExact()</mml:attr>
-                    <mml:attr name="originalText">Find By Name Exact</mml:attr>
-                    <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.fallback.NamedFacetDefault</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.collections.collection.defaultview.DefaultViewFacet" fqcn="org.apache.isis.metamodel.facets.collections.layout.DefaultViewFacetForCollectionLayoutAnnotation">
-                    <mml:attr name="value">hidden</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacet" fqcn="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacetFallback">
-                    <mml:attr name="bookmarkPolicy">NEVER</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacet" fqcn="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacetAsConfigured">
-                    <mml:attr name="promptStyle">INLINE</mml:attr>
-                </mml:facet>
-            </mml:facets>
-            <mml:returnType>domainapp.modules.simple.dom.impl.SimpleObject</mml:returnType>
-            <mml:params>
-                <mml:param xsi:type="mml:scalarParam" id="name" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-                    <mml:facets>
-                        <mml:facet id="org.apache.isis.metamodel.facets.actions.defaults.ActionDefaultsFacet" fqcn="org.apache.isis.metamodel.facets.param.defaults.fromtype.ActionParameterDefaultFacetDerivedFromTypeFacets">
-                            <mml:attr name="defaultFacets">org.apache.isis.metamodel.facets.object.defaults.DefaultedFacetUsingDefaultsProvider</mml:attr>
-                            <mml:attr name="derived">true</mml:attr>
-                        </mml:facet>
-                        <mml:facet id="org.apache.isis.metamodel.facets.all.describedas.DescribedAsFacet" fqcn="org.apache.isis.metamodel.facets.param.describedas.annotderived.DescribedAsFacetOnParameterDerivedFromType"/>
-                        <mml:facet id="org.apache.isis.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.metamodel.facets.all.i18n.NamedFacetTranslated">
-                            <mml:attr name="context">domainapp.modules.simple.dom.impl.SimpleObjects#findByNameExact(java.lang.String)</mml:attr>
-                            <mml:attr name="originalText">Name</mml:attr>
-                            <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.param.name.NamedFacetForParameterUsingReflection</mml:attr>
-                        </mml:facet>
-                        <mml:facet id="org.apache.isis.metamodel.facets.objectvalue.labelat.LabelAtFacet" fqcn="org.apache.isis.metamodel.facets.fallback.LabelAtFacetFromLayoutConfiguration">
-                            <mml:attr name="label">NOT_SPECIFIED</mml:attr>
-                            <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.fallback.LabelAtFacetFromLayoutConfiguration</mml:attr>
-                        </mml:facet>
-                        <mml:facet id="org.apache.isis.metamodel.facets.objectvalue.mandatory.MandatoryFacet" fqcn="org.apache.isis.metamodel.facets.objectvalue.mandatory.MandatoryFacetDefault">
-                            <mml:attr name="inverted">false</mml:attr>
-                            <mml:attr name="semantics">REQUIRED</mml:attr>
-                            <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.objectvalue.mandatory.MandatoryFacetDefault</mml:attr>
-                            <mml:attr name="validating">true</mml:attr>
-                        </mml:facet>
-                        <mml:facet id="org.apache.isis.metamodel.facets.objectvalue.typicallen.TypicalLengthFacet" fqcn="org.apache.isis.metamodel.facets.param.typicallen.fromtype.TypicalLengthFacetOnParameterDerivedFromType">
-                            <mml:attr name="derived">true</mml:attr>
-                            <mml:attr name="typicalLengthFacet">org.apache.isis.metamodel.facets.object.value.TypicalLengthFacetUsingParser</mml:attr>
-                        </mml:facet>
-                    </mml:facets>
-                    <mml:type>java.lang.String</mml:type>
-                </mml:param>
-            </mml:params>
-        </mml:act>
-        <mml:act id="listAll">
-            <mml:facets>
-                <mml:facet id="org.apache.isis.metamodel.authorization.standard.AuthorizationFacet" fqcn="org.apache.isis.metamodel.authorization.standard.AuthorizationFacetImpl">
-                    <mml:attr name="disabling">true</mml:attr>
-                    <mml:attr name="hiding">true</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actcoll.typeof.TypeOfFacet" fqcn="org.apache.isis.metamodel.facets.actcoll.typeof.TypeOfFacetInferredFromGenerics">
-                    <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.actcoll.typeof.TypeOfFacetInferredFromGenerics</mml:attr>
-                    <mml:attr name="value">domainapp.modules.simple.dom.impl.SimpleObject</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.action.invocation.ActionDomainEventFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.invocation.ActionDomainEventFacetDefault">
-                    <mml:attr name="disabling">true</mml:attr>
-                    <mml:attr name="hiding">true</mml:attr>
-                    <mml:attr name="validating">true</mml:attr>
-                    <mml:attr name="value">org.apache.isis.applib.events.domain.ActionDomainEvent.Default</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.action.invocation.ActionInvocationFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.invocation.ActionInvocationFacetForDomainEventFromDefault">
-                    <mml:attr name="eventType">org.apache.isis.applib.events.domain.ActionDomainEvent.Default</mml:attr>
-                    <mml:attr name="intent.listAll">EXECUTE</mml:attr>
-                    <mml:attr name="methods">public java.util.List&lt;domainapp.modules.simple.dom.impl.SimpleObject&gt; domainapp.modules.simple.dom.impl.SimpleObjects.listAll()</mml:attr>
-                    <mml:attr name="onType">domainapp.modules.simple.dom.impl.SimpleObjects</mml:attr>
-                    <mml:attr name="returnType">java.util.List</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.position.ActionPositionFacet" fqcn="org.apache.isis.metamodel.facets.actions.position.ActionPositionFacetFallback">
-                    <mml:attr name="position">BELOW</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.redirect.RedirectFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.RedirectFacetFromActionLayoutAnnotation">
-                    <mml:attr name="redirect">AS_CONFIGURED</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.semantics.ActionSemanticsFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.semantics.ActionSemanticsFacetForActionAnnotation">
-                    <mml:attr name="value">SAFE</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.all.describedas.DescribedAsFacet" fqcn="org.apache.isis.metamodel.facets.members.describedas.annotprop.DescribedAsFacetOnMemberDerivedFromType"/>
-                <mml:facet id="org.apache.isis.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.metamodel.facets.all.i18n.NamedFacetTranslated">
-                    <mml:attr name="context">domainapp.modules.simple.dom.impl.SimpleObjects#listAll()</mml:attr>
-                    <mml:attr name="originalText">List All</mml:attr>
-                    <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.fallback.NamedFacetDefault</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.collections.collection.defaultview.DefaultViewFacet" fqcn="org.apache.isis.metamodel.facets.collections.layout.DefaultViewFacetForCollectionLayoutAnnotation">
-                    <mml:attr name="value">hidden</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.BookmarkPolicyFacetForActionLayoutAnnotation">
-                    <mml:attr name="bookmarkPolicy">AS_ROOT</mml:attr>
-                    <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacetFallback</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacet" fqcn="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacetAsConfigured">
-                    <mml:attr name="promptStyle">INLINE</mml:attr>
-                </mml:facet>
-            </mml:facets>
-            <mml:returnType>java.util.List</mml:returnType>
-            <mml:params/>
-        </mml:act>
-        <mml:act id="ping">
-            <mml:facets>
-                <mml:facet id="org.apache.isis.metamodel.authorization.standard.AuthorizationFacet" fqcn="org.apache.isis.metamodel.authorization.standard.AuthorizationFacetImpl">
-                    <mml:attr name="disabling">true</mml:attr>
-                    <mml:attr name="hiding">true</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.action.invocation.ActionDomainEventFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.invocation.ActionDomainEventFacetDefault">
-                    <mml:attr name="disabling">true</mml:attr>
-                    <mml:attr name="hiding">true</mml:attr>
-                    <mml:attr name="validating">true</mml:attr>
-                    <mml:attr name="value">org.apache.isis.applib.events.domain.ActionDomainEvent.Default</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.action.invocation.ActionInvocationFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.invocation.ActionInvocationFacetForDomainEventFromDefault">
-                    <mml:attr name="eventType">org.apache.isis.applib.events.domain.ActionDomainEvent.Default</mml:attr>
-                    <mml:attr name="intent.ping">EXECUTE</mml:attr>
-                    <mml:attr name="methods">public void domainapp.modules.simple.dom.impl.SimpleObjects.ping()</mml:attr>
-                    <mml:attr name="onType">domainapp.modules.simple.dom.impl.SimpleObjects</mml:attr>
-                    <mml:attr name="returnType">void</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.position.ActionPositionFacet" fqcn="org.apache.isis.metamodel.facets.actions.position.ActionPositionFacetFallback">
-                    <mml:attr name="position">BELOW</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.redirect.RedirectFacet" fqcn="org.apache.isis.metamodel.facets.actions.redirect.RedirectFacetFallback">
-                    <mml:attr name="redirect">AS_CONFIGURED</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.actions.semantics.ActionSemanticsFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.semantics.ActionSemanticsFacetFallbackToNonIdempotent">
-                    <mml:attr name="value">NON_IDEMPOTENT</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.all.describedas.DescribedAsFacet" fqcn="org.apache.isis.metamodel.facets.members.describedas.annotprop.DescribedAsFacetOnMemberDerivedFromType"/>
-                <mml:facet id="org.apache.isis.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.metamodel.facets.all.i18n.NamedFacetTranslated">
-                    <mml:attr name="context">domainapp.modules.simple.dom.impl.SimpleObjects#ping()</mml:attr>
-                    <mml:attr name="originalText">Ping</mml:attr>
-                    <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.fallback.NamedFacetDefault</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.collections.collection.defaultview.DefaultViewFacet" fqcn="org.apache.isis.metamodel.facets.collections.layout.DefaultViewFacetForCollectionLayoutAnnotation">
-                    <mml:attr name="value">hidden</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacet" fqcn="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacetFallback">
-                    <mml:attr name="bookmarkPolicy">NEVER</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacet" fqcn="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacetAsConfigured">
-                    <mml:attr name="promptStyle">INLINE</mml:attr>
-                </mml:facet>
-            </mml:facets>
-            <mml:returnType>void</mml:returnType>
-            <mml:params/>
-        </mml:act>
-    </mml:actions>
-</mml:domainClassDto>
diff --git a/starters/simpleapp/application/src/test/java/domainapp/application/integtests/mml/received/.gitignore b/starters/simpleapp/application/src/test/java/domainapp/application/integtests/mml/received/.gitignore
deleted file mode 100644
index b81c795..0000000
--- a/starters/simpleapp/application/src/test/java/domainapp/application/integtests/mml/received/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-*.xml
\ No newline at end of file
diff --git a/starters/simpleapp/application/src/test/java/domainapp/application/integtests/smoke/Smoke_IntegTest.java b/starters/simpleapp/application/src/test/java/domainapp/application/integtests/smoke/Smoke_IntegTest.java
deleted file mode 100644
index 559c36c..0000000
--- a/starters/simpleapp/application/src/test/java/domainapp/application/integtests/smoke/Smoke_IntegTest.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*
- *  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.
- */
-package domainapp.application.integtests.smoke;
-
-import java.util.List;
-
-import javax.inject.Inject;
-
-import org.junit.jupiter.api.Test;
-import org.springframework.transaction.annotation.Transactional;
-
-import org.apache.isis.applib.services.xactn.TransactionService;
-
-import static org.assertj.core.api.Assertions.assertThat;
-
-import domainapp.application.integtests.ApplicationIntegTestAbstract;
-import domainapp.modules.simple.dom.impl.SimpleObject;
-import domainapp.modules.simple.dom.impl.SimpleObjects;
-
-@Transactional
-class Smoke_IntegTest extends ApplicationIntegTestAbstract {
-
-    @Inject SimpleObjects menu;
-    @Inject TransactionService transactionService;
-
-    @Test
-    void create() {
-
-        // when
-        List<SimpleObject> all = wrap(menu).listAll();
-
-        // then
-        assertThat(all).isEmpty();
-
-
-
-        // when
-        final SimpleObject fred = wrap(menu).create("Fred");
-        transactionService.flushTransaction();
-
-        // then
-        all = wrap(menu).listAll();
-        assertThat(all).hasSize(1);
-        assertThat(all).contains(fred);
-
-
-
-        // when
-        final SimpleObject bill = wrap(menu).create("Bill");
-        transactionService.flushTransaction();
-
-        // then
-        all = wrap(menu).listAll();
-        assertThat(all).hasSize(2);
-        assertThat(all).contains(fred, bill);
-
-
-
-        // when
-        wrap(fred).updateName("Freddy");
-        transactionService.flushTransaction();
-
-        // then
-        assertThat(wrap(fred).getName()).isEqualTo("Freddy");
-
-
-        // when
-        wrap(fred).setNotes("These are some notes");
-        transactionService.flushTransaction();
-
-        // then
-        assertThat(wrap(fred).getNotes()).isEqualTo("These are some notes");
-
-
-        // when
-        wrap(fred).delete();
-        transactionService.flushTransaction();
-
-
-        all = wrap(menu).listAll();
-        assertThat(all).hasSize(1);
-
-    }
-
-}
-
diff --git a/starters/simpleapp/enhance-all.sh b/starters/simpleapp/enhance-all.sh
deleted file mode 100644
index 63572d1..0000000
--- a/starters/simpleapp/enhance-all.sh
+++ /dev/null
@@ -1,2 +0,0 @@
-#!/usr/bin/env bash
-mvn -pl module-simple datanucleus:enhance -o
\ No newline at end of file
diff --git a/starters/simpleapp/module-simple/.gitignore b/starters/simpleapp/module-simple/.gitignore
deleted file mode 100644
index 85cb54f..0000000
--- a/starters/simpleapp/module-simple/.gitignore
+++ /dev/null
@@ -1,8 +0,0 @@
-.gradle
-translations.pot
-*.jar
-gradle/wrapper
-!gradle-wrapper.jar
-/.apt_generated/
-/.factorypath
-/.apt_generated_tests/
diff --git a/starters/simpleapp/module-simple/log4j2-test.xml b/starters/simpleapp/module-simple/log4j2-test.xml
deleted file mode 100644
index 56e8ad6..0000000
--- a/starters/simpleapp/module-simple/log4j2-test.xml
+++ /dev/null
@@ -1,60 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Configuration status="WARN">
-	<Properties>
-		<Property name="PID">????</Property>
-		<Property name="LOG_EXCEPTION_CONVERSION_WORD">%xwEx</Property>
-		<Property name="LOG_LEVEL_PATTERN">%5p</Property>
-		<Property name="LOG_DATEFORMAT_PATTERN">yyyy-MM-dd HH:mm:ss.SSS</Property>
-		<Property name="CONSOLE_LOG_PATTERN">%clr{%d{${LOG_DATEFORMAT_PATTERN}}}{faint} %clr{${LOG_LEVEL_PATTERN}} %clr{${sys:PID}}{magenta} %clr{---}{faint} %clr{[%15.15t]}{faint} %clr{%-40.40c{1.}}{cyan} %clr{:}{faint} %m%n${sys:LOG_EXCEPTION_CONVERSION_WORD}</Property>
-		<Property name="FILE_LOG_PATTERN">%d{${LOG_DATEFORMAT_PATTERN}} ${LOG_LEVEL_PATTERN} ${sys:PID} --- [%t] %-40.40c{1.} : %m%n${sys:LOG_EXCEPTION_CONVERSION_WORD}</Property>
-	</Properties>
-	<Appenders>
-		<Console name="Console" target="SYSTEM_OUT" follow="true">
-			<PatternLayout pattern="${sys:CONSOLE_LOG_PATTERN}" />
-		</Console>
-	</Appenders>
-	<Loggers>
-		<Logger name="org.apache.catalina.startup.DigesterFactory" level="error" />
-		<Logger name="org.apache.catalina.util.LifecycleBase" level="error" />
-		<Logger name="org.apache.coyote.http11.Http11NioProtocol" level="warn" />
-		<logger name="org.apache.sshd.common.util.SecurityUtils" level="warn"/>
-		<Logger name="org.apache.tomcat.util.net.NioSelectorPool" level="warn" />
-		<Logger name="org.eclipse.jetty.util.component.AbstractLifeCycle" level="error" />
-		<Logger name="org.hibernate.validator.internal.util.Version" level="warn" />
-		<logger name="org.springframework.boot.actuate.endpoint.jmx" level="warn"/>
-		
-		<logger name="org.apache.directory" level="warn"/>
-		<logger name="org.apache.directory.api.ldap.model.entry.Value" level="off"/>
-		
-		<logger name="DataNucleus.Persistence" level="info"/>
-		<logger name="DataNucleus.Transaction" level="info"/>
-		<logger name="DataNucleus.Datastore.Schema" level="info"/>
-		<logger name="DataNucleus.Datastore.Native" level="info"/>
-		
-		<Root level="info">
-			<AppenderRef ref="Console" />
-		</Root>
-	</Loggers>
-</Configuration>
-
-<!-- # DataNucleus Logging Categories -->
-<!-- DataNucleus.Persistence - All messages relating to the persistence process -->
-<!-- DataNucleus.Transaction - All messages relating to transactions -->
-<!-- DataNucleus.Connection - All messages relating to Connections. -->
-<!-- DataNucleus.Query - All messages relating to queries -->
-<!-- DataNucleus.Cache - All messages relating to the DataNucleus Cache -->
-<!-- DataNucleus.MetaData - All messages relating to MetaData -->
-<!-- DataNucleus.Datastore - All general datastore messages -->
-<!-- DataNucleus.Datastore.Schema - All schema related datastore log messages -->
-<!-- DataNucleus.Datastore.Persist - All datastore persistence messages -->
-<!-- DataNucleus.Datastore.Retrieve - All datastore retrieval messages -->
-<!-- DataNucleus.Datastore.Native - Log of all 'native' statements sent to the datastore -->
-<!-- DataNucleus.General - All general operational messages -->
-<!-- DataNucleus.Lifecycle - All messages relating to object lifecycle changes -->
-<!-- DataNucleus.ValueGeneration - All messages relating to value generation -->
-<!-- DataNucleus.Enhancer - All messages from the DataNucleus Enhancer. -->
-<!-- DataNucleus.SchemaTool - All messages from DataNucleus SchemaTool -->
-<!-- DataNucleus.JDO - All messages general to JDO -->
-<!-- DataNucleus.JPA - All messages general to JPA -->
-<!-- DataNucleus.JCA - All messages relating to Connector JCA. -->
-<!-- DataNucleus.IDE - Messages from the DataNucleus IDE. -->
\ No newline at end of file
diff --git a/starters/simpleapp/module-simple/logging-dn-enhance.properties b/starters/simpleapp/module-simple/logging-dn-enhance.properties
deleted file mode 100644
index ca165ac..0000000
--- a/starters/simpleapp/module-simple/logging-dn-enhance.properties
+++ /dev/null
@@ -1,41 +0,0 @@
-#  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.
-
-# LOG4J Configuration
-# ===================
-
-# Basic logging goes to "datanucleus.log"
-log4j.appender.A1=org.apache.log4j.FileAppender
-log4j.appender.A1.File=datanucleus.log
-log4j.appender.A1.layout=org.apache.log4j.PatternLayout
-log4j.appender.A1.layout.ConversionPattern=%d{HH:mm:ss,SSS} (%t) %-5p [%c] - %m%n
-#log4j.appender.A1.Threshold=INFO
-
-# Categories
-# Each category can be set to a "level", and to direct to an appender
-
-# Default to DEBUG level for all DataNucleus categories
-log4j.logger.DataNucleus = DEBUG, A1
-
-log4j.category.com.mchange.v2.c3p0=INFO, A1
-log4j.category.com.mchange.v2.resourcepool=INFO, A1
-log4j.category.org.logicalcobwebs.proxool=INFO,A1
-
-
-# Hbase libs logging
-log4j.category.org.apache.hadoop=INFO,A1
-log4j.category.org.apache.zookeeper=INFO,A1
\ No newline at end of file
diff --git a/starters/simpleapp/module-simple/pom.xml b/starters/simpleapp/module-simple/pom.xml
deleted file mode 100644
index c0993b5..0000000
--- a/starters/simpleapp/module-simple/pom.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 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. -->
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-	<modelVersion>4.0.0</modelVersion>
-
-	<parent>
-		<groupId>org.apache.isis.examples.apps</groupId>
-		<artifactId>simpleapp</artifactId>
-		<version>2.0.0-M3-SNAPSHOT</version>
-	</parent>
-
-	<artifactId>simpleapp-module-simple</artifactId>
-	<name>Apache Isis App - SimpleApp Simple Module</name>
-
-	<properties>
-		<maven-checkstyle-plugin.configLocation>${project.parent.basedir}/_checks/checkstyle.xml</maven-checkstyle-plugin.configLocation>
-		<maven-pmd-plugin.ruleset>${project.parent.basedir}/_checks/pmd.xml</maven-pmd-plugin.ruleset>
-	</properties>
-
-	<build>
-		<resources>
-			<resource>
-				<filtering>false</filtering>
-				<directory>src/main/java</directory>
-				<includes>
-					<include>**</include>
-				</includes>
-				<excludes>
-					<exclude>**/*.java</exclude>
-				</excludes>
-			</resource>
-		</resources>
-	</build>
-
-	<dependencies>
-
-		<!-- ISIS API -->
-
-		<dependency>
-			<groupId>org.apache.isis.core</groupId>
-			<artifactId>isis-applib</artifactId>
-		</dependency>
-
-		<dependency>
-			<groupId>org.apache.isis.core</groupId>
-			<artifactId>isis-persistence-jdo-datanucleus5</artifactId>
-		</dependency>
-
-		<dependency>
-			<groupId>org.apache.isis.extensions</groupId>
-			<artifactId>isis-extensions-fixtures</artifactId>
-		</dependency>
-		
-		<dependency>
-			<groupId>org.apache.isis.extensions</groupId>
-			<artifactId>isis-extensions-specsupport</artifactId>
-		</dependency>
-
-		<!-- TESTS -->
-		<dependency>
-			<groupId>org.apache.isis.mavendeps</groupId>
-			<artifactId>isis-mavendeps-testing</artifactId>
-			<type>pom</type>
-			<scope>test</scope>
-		</dependency>
-
-	</dependencies>
-
-</project>
diff --git a/starters/simpleapp/module-simple/src/main/java/META-INF/persistence.xml b/starters/simpleapp/module-simple/src/main/java/META-INF/persistence.xml
deleted file mode 100644
index 8824aa1..0000000
--- a/starters/simpleapp/module-simple/src/main/java/META-INF/persistence.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!--
-  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.
--->
-<persistence xmlns="http://java.sun.com/xml/ns/persistence"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd" version="1.0">
-
-    <persistence-unit name="simple">
-    </persistence-unit>
-</persistence>
diff --git a/starters/simpleapp/module-simple/src/main/java/domainapp/modules/simple/SimpleModule.java b/starters/simpleapp/module-simple/src/main/java/domainapp/modules/simple/SimpleModule.java
deleted file mode 100644
index a2c757e..0000000
--- a/starters/simpleapp/module-simple/src/main/java/domainapp/modules/simple/SimpleModule.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- *  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.
- */
-package domainapp.modules.simple;
-
-import org.springframework.context.annotation.ComponentScan;
-import org.springframework.context.annotation.Configuration;
-
-import org.apache.isis.extensions.fixtures.fixturescripts.FixtureScript;
-import org.apache.isis.extensions.fixtures.legacy.teardown.TeardownFixtureAbstract2;
-import org.apache.isis.extensions.fixtures.modules.Module;
-
-import domainapp.modules.simple.dom.impl.SimpleObject;
-
-@Configuration
-@ComponentScan
-public class SimpleModule implements Module {
-
-    @Override
-    public FixtureScript getTeardownFixture() {
-        return new TeardownFixtureAbstract2() {
-            @Override
-            protected void execute(ExecutionContext executionContext) {
-                deleteFrom(SimpleObject.class);
-            }
-        };
-    }
-
-    public static class PropertyDomainEvent<S,T>
-    extends org.apache.isis.applib.events.domain.PropertyDomainEvent<S,T> {}
-    
-    public static class CollectionDomainEvent<S,T>
-    extends org.apache.isis.applib.events.domain.CollectionDomainEvent<S,T> {}
-    
-    public static class ActionDomainEvent<S> extends
-    org.apache.isis.applib.events.domain.ActionDomainEvent<S> {}
-    
-}
diff --git a/starters/simpleapp/module-simple/src/main/java/domainapp/modules/simple/dom/impl/SimpleObject.java b/starters/simpleapp/module-simple/src/main/java/domainapp/modules/simple/dom/impl/SimpleObject.java
deleted file mode 100644
index 58254b9..0000000
--- a/starters/simpleapp/module-simple/src/main/java/domainapp/modules/simple/dom/impl/SimpleObject.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*
- *  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.
- */
-package domainapp.modules.simple.dom.impl;
-
-import java.util.Comparator;
-
-import javax.inject.Inject;
-import javax.jdo.annotations.IdGeneratorStrategy;
-import javax.jdo.annotations.IdentityType;
-import javax.jdo.annotations.VersionStrategy;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
-
-import org.apache.isis.applib.annotation.Action;
-import org.apache.isis.applib.annotation.Auditing;
-import org.apache.isis.applib.annotation.DomainObject;
-import org.apache.isis.applib.annotation.DomainObjectLayout;
-import org.apache.isis.applib.annotation.Publishing;
-import org.apache.isis.applib.services.inject.ServiceInjector;
-import org.apache.isis.applib.services.message.MessageService;
-import org.apache.isis.applib.services.repository.RepositoryService;
-import org.apache.isis.applib.services.title.TitleService;
-import org.apache.isis.schema.utils.jaxbadapters.PersistentEntityAdapter;
-
-import lombok.Getter;
-import lombok.Setter;
-import static org.apache.isis.applib.annotation.CommandReification.ENABLED;
-import static org.apache.isis.applib.annotation.SemanticsOf.IDEMPOTENT;
-import static org.apache.isis.applib.annotation.SemanticsOf.NON_IDEMPOTENT_ARE_YOU_SURE;
-
-import domainapp.modules.simple.dom.types.Name;
-import domainapp.modules.simple.dom.types.Notes;
-import lombok.val;
-
-@javax.jdo.annotations.PersistenceCapable(identityType=IdentityType.DATASTORE, schema = "simple")
-@javax.jdo.annotations.DatastoreIdentity(strategy=IdGeneratorStrategy.IDENTITY, column="id")
-@javax.jdo.annotations.Version(strategy= VersionStrategy.DATE_TIME, column="version")
-@javax.jdo.annotations.Unique(name="SimpleObject_name_UNQ", members = {"name"})
-@DomainObject(auditing = Auditing.ENABLED)
-@DomainObjectLayout()  // causes UI events to be triggered
-@XmlJavaTypeAdapter(PersistentEntityAdapter.class)
-public class SimpleObject implements Comparable<SimpleObject> {
-
-    private SimpleObject() {}
-
-    public String title() {
-        return "Object: " + getName();
-    }
-
-    @lombok.Getter @lombok.Setter //@lombok.NonNull XXX lombok+JDOQ issue
-    @Name private String name;
-
-    @lombok.Getter @lombok.Setter
-    @Notes private String notes;
-
-
-    @Action(semantics = IDEMPOTENT, command = ENABLED, publishing = Publishing.ENABLED, associateWith = "name")
-    public SimpleObject updateName(
-            @Name final String name) {
-        setName(name);
-        return this;
-    }
-    public String default0UpdateName() {
-        return getName();
-    }
-
-
-    @Action(semantics = NON_IDEMPOTENT_ARE_YOU_SURE)
-    public void delete() {
-        final String title = titleService.titleOf(this);
-        messageService.informUser(String.format("'%s' deleted", title));
-        repositoryService.removeAndFlush(this);
-    }
-
-    @Override
-    public String toString() {
-        return getName();
-    }
-
-    private final static Comparator<SimpleObject> comparator = 
-            Comparator.comparing(SimpleObject::getName);
-
-    @Override
-    public int compareTo(final SimpleObject other) {
-        return comparator.compare(this, other);
-    }
-
-
-    @Inject RepositoryService repositoryService;
-    @Inject TitleService titleService;
-    @Inject MessageService messageService;
-
-    // FACTORY
-
-    public static SimpleObject ofName(String name) {
-        val simpleObject = new SimpleObject();
-        simpleObject.setName(name);
-        return simpleObject;
-    }
-
-}
\ No newline at end of file
diff --git a/starters/simpleapp/module-simple/src/main/java/domainapp/modules/simple/dom/impl/SimpleObject.layout.xml b/starters/simpleapp/module-simple/src/main/java/domainapp/modules/simple/dom/impl/SimpleObject.layout.xml
deleted file mode 100644
index 7b5442c..0000000
--- a/starters/simpleapp/module-simple/src/main/java/domainapp/modules/simple/dom/impl/SimpleObject.layout.xml
+++ /dev/null
@@ -1,68 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<!--
-  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.
--->
-<bs3:grid xsi:schemaLocation="http://isis.apache.org/applib/layout/component http://isis.apache.org/applib/layout/component/component.xsd http://isis.apache.org/applib/layout/grid/bootstrap3 http://isis.apache.org/applib/layout/grid/bootstrap3/bootstrap3.xsd" xmlns:c="http://isis.apache.org/applib/layout/component" xmlns:bs3="http://isis.apache.org/applib/layout/grid/bootstrap3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-
-    <bs3:row>
-        <bs3:col span="12" unreferencedActions="true">
-            <c:domainObject bookmarking="AS_ROOT"/>
-        </bs3:col>
-    </bs3:row>
-    <bs3:row>
-        <bs3:col span="6">
-            <bs3:tabGroup>
-                <bs3:tab name="General">
-                    <bs3:row>
-                        <bs3:col span="12">
-                            <c:fieldSet name="Name">
-                                <c:action id="delete">
-                                    <c:describedAs>Deletes this object from the persistent datastore</c:describedAs>
-                                </c:action>
-                                <c:property id="name" namedEscaped="true">
-                                    <c:action id="updateName" promptStyle="INLINE"/>
-                                </c:property>
-                                <c:property id="notes" namedEscaped="true" multiLine="10" hidden="ALL_TABLES"/>
-                            </c:fieldSet>
-                        </bs3:col>
-                    </bs3:row>
-                </bs3:tab>
-                <bs3:tab name="Metadata">
-                    <bs3:row>
-                        <bs3:col span="12">
-                            <c:fieldSet name="Metadata"/>
-                        </bs3:col>
-                    </bs3:row>
-                </bs3:tab>
-                <bs3:tab name="Other">
-                    <bs3:row>
-                        <bs3:col span="12">
-                            <c:fieldSet name="Other" unreferencedProperties="true"/>
-                        </bs3:col>
-                    </bs3:row>
-                </bs3:tab>
-            </bs3:tabGroup>
-            <bs3:tabGroup>
-            </bs3:tabGroup>
-        </bs3:col>
-        <bs3:col span="6">
-            <bs3:tabGroup  unreferencedCollections="true">
-            </bs3:tabGroup>
-        </bs3:col>
-    </bs3:row>
-</bs3:grid>
diff --git a/starters/simpleapp/module-simple/src/main/java/domainapp/modules/simple/dom/impl/SimpleObject.png b/starters/simpleapp/module-simple/src/main/java/domainapp/modules/simple/dom/impl/SimpleObject.png
deleted file mode 100644
index 0bd6f57..0000000
Binary files a/starters/simpleapp/module-simple/src/main/java/domainapp/modules/simple/dom/impl/SimpleObject.png and /dev/null differ
diff --git a/starters/simpleapp/module-simple/src/main/java/domainapp/modules/simple/dom/impl/SimpleObjects.java b/starters/simpleapp/module-simple/src/main/java/domainapp/modules/simple/dom/impl/SimpleObjects.java
deleted file mode 100644
index 6b3cbb9..0000000
--- a/starters/simpleapp/module-simple/src/main/java/domainapp/modules/simple/dom/impl/SimpleObjects.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- *  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.
- */
-package domainapp.modules.simple.dom.impl;
-
-import java.util.List;
-
-import javax.inject.Inject;
-import javax.jdo.JDOQLTypedQuery;
-
-import org.apache.isis.applib.annotation.Action;
-import org.apache.isis.applib.annotation.ActionLayout;
-import org.apache.isis.applib.annotation.BookmarkPolicy;
-import org.apache.isis.applib.annotation.DomainService;
-import org.apache.isis.applib.annotation.NatureOfService;
-import org.apache.isis.applib.annotation.PromptStyle;
-import org.apache.isis.applib.annotation.SemanticsOf;
-import org.apache.isis.applib.events.domain.ActionDomainEvent;
-import org.apache.isis.applib.services.repository.RepositoryService;
-import org.apache.isis.jdo.jdosupport.IsisJdoSupport_v3_2;
-
-import domainapp.modules.simple.dom.types.Name;
-
-@DomainService(
-        nature = NatureOfService.VIEW,
-        objectType = "simple.SimpleObjects"
-        )
-public class SimpleObjects {
-
-    public static class CreateDomainEvent extends ActionDomainEvent<SimpleObjects> {}
-
-    @Action(domainEvent = CreateDomainEvent.class)
-    @ActionLayout(promptStyle = PromptStyle.DIALOG_MODAL)
-    public SimpleObject create(
-            @Name final String name
-            ) {
-        return repositoryService.persist(SimpleObject.ofName(name));
-    }
-
-    @Action(semantics = SemanticsOf.SAFE)
-    @ActionLayout(bookmarking = BookmarkPolicy.AS_ROOT, promptStyle = PromptStyle.DIALOG_SIDEBAR)
-    public List<SimpleObject> findByName(
-            @Name final String name
-            ) {
-        JDOQLTypedQuery<SimpleObject> q = isisJdoSupport.newTypesafeQuery(SimpleObject.class);
-        final QSimpleObject cand = QSimpleObject.candidate();
-        q = q.filter(
-                cand.name.indexOf(q.stringParameter("name")).ne(-1)
-                );
-        return q.setParameter("name", name)
-                .executeList();
-    }
-
-    public SimpleObject findByNameExact(final String name) {
-        JDOQLTypedQuery<SimpleObject> q = isisJdoSupport.newTypesafeQuery(SimpleObject.class);
-        final QSimpleObject cand = QSimpleObject.candidate();
-        q = q.filter(
-                cand.name.eq(q.stringParameter("name"))
-                );
-        return q.setParameter("name", name)
-                .executeUnique();
-    }
-
-    @Action(semantics = SemanticsOf.SAFE)
-    @ActionLayout(bookmarking = BookmarkPolicy.AS_ROOT)
-    public List<SimpleObject> listAll() {
-        return repositoryService.allInstances(SimpleObject.class);
-    }
-
-    public void ping() {
-        JDOQLTypedQuery<SimpleObject> q = isisJdoSupport.newTypesafeQuery(SimpleObject.class);
-        final QSimpleObject candidate = QSimpleObject.candidate();
-        q.range(0,2);
-        q.orderBy(candidate.name.asc());
-        q.executeList();
-    }
-
-    @Inject RepositoryService repositoryService;
-    @Inject IsisJdoSupport_v3_2 isisJdoSupport;
-
-}
diff --git a/starters/simpleapp/module-simple/src/main/java/domainapp/modules/simple/dom/types/Name.java b/starters/simpleapp/module-simple/src/main/java/domainapp/modules/simple/dom/types/Name.java
deleted file mode 100644
index 9cd2b22..0000000
--- a/starters/simpleapp/module-simple/src/main/java/domainapp/modules/simple/dom/types/Name.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- *  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.
- */
-package domainapp.modules.simple.dom.types;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-import javax.jdo.annotations.Column;
-
-import org.apache.isis.applib.annotation.Editing;
-import org.apache.isis.applib.annotation.Parameter;
-import org.apache.isis.applib.annotation.ParameterLayout;
-import org.apache.isis.applib.annotation.Property;
-import org.apache.isis.applib.services.i18n.TranslatableString;
-import org.apache.isis.applib.spec.AbstractSpecification2;
-
-@Column(length = Name.MAX_LEN, allowsNull = "false")
-@Property(editing = Editing.DISABLED, mustSatisfy = Name.NoExclamationMarks.class, maxLength = Name.MAX_LEN)
-@Parameter(mustSatisfy = Name.NoExclamationMarks.class, maxLength = Name.MAX_LEN)
-@ParameterLayout(named = "Name")
-@Target({ ElementType.METHOD, ElementType.FIELD, ElementType.PARAMETER, ElementType.ANNOTATION_TYPE })
-@Retention(RetentionPolicy.RUNTIME)
-public @interface Name {
-
-    int MAX_LEN = 40;
-
-    class NoExclamationMarks extends AbstractSpecification2<String> {
-
-        @Override
-        public TranslatableString satisfiesTranslatableSafely(final String name) {
-            return name != null && name.contains("!")
-                    ? TranslatableString.tr("Exclamation mark is not allowed")
-                            : null;
-        }
-    }
-}
diff --git a/starters/simpleapp/module-simple/src/main/java/domainapp/modules/simple/dom/types/Notes.java b/starters/simpleapp/module-simple/src/main/java/domainapp/modules/simple/dom/types/Notes.java
deleted file mode 100644
index d5fb397..0000000
--- a/starters/simpleapp/module-simple/src/main/java/domainapp/modules/simple/dom/types/Notes.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- *  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.
- */
-package domainapp.modules.simple.dom.types;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-import javax.jdo.annotations.Column;
-
-import org.apache.isis.applib.annotation.Editing;
-import org.apache.isis.applib.annotation.Parameter;
-import org.apache.isis.applib.annotation.ParameterLayout;
-import org.apache.isis.applib.annotation.Property;
-
-@Column(length = Notes.MAX_LEN, allowsNull = "true")
-@Property(editing = Editing.ENABLED, maxLength = Notes.MAX_LEN)
-@Parameter(maxLength = Notes.MAX_LEN)
-@ParameterLayout(named = "Notes")
-@Target({ ElementType.METHOD, ElementType.FIELD, ElementType.PARAMETER, ElementType.ANNOTATION_TYPE })
-@Retention(RetentionPolicy.RUNTIME)
-public @interface Notes {
-
-    int MAX_LEN = 4000;
-
-}
diff --git a/starters/simpleapp/module-simple/src/main/java/domainapp/modules/simple/fixture/SimpleObjectBuilder.java b/starters/simpleapp/module-simple/src/main/java/domainapp/modules/simple/fixture/SimpleObjectBuilder.java
deleted file mode 100644
index 7f1ee24..0000000
--- a/starters/simpleapp/module-simple/src/main/java/domainapp/modules/simple/fixture/SimpleObjectBuilder.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- *  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.
- */
-
-package domainapp.modules.simple.fixture;
-
-import javax.inject.Inject;
-
-import org.apache.isis.extensions.fixtures.fixturescripts.BuilderScriptWithResult;
-
-import domainapp.modules.simple.dom.impl.SimpleObject;
-import domainapp.modules.simple.dom.impl.SimpleObjects;
-import lombok.Getter;
-import lombok.Setter;
-import lombok.experimental.Accessors;
-
-@Accessors(chain = true)
-public class SimpleObjectBuilder extends BuilderScriptWithResult<SimpleObject> {
-
-    @Getter @Setter
-    private String name;
-
-    @Override
-    protected SimpleObject buildResult(final ExecutionContext ec) {
-        
-        checkParam("name", ec, String.class);
-        
-        return wrap(simpleObjects).create(name);
-    }
-    
-    // -- DEPENDENCIES
-
-    @Inject SimpleObjects simpleObjects;
-
-}
diff --git a/starters/simpleapp/module-simple/src/main/java/domainapp/modules/simple/fixture/SimpleObject_persona.java b/starters/simpleapp/module-simple/src/main/java/domainapp/modules/simple/fixture/SimpleObject_persona.java
deleted file mode 100644
index 19c378b..0000000
--- a/starters/simpleapp/module-simple/src/main/java/domainapp/modules/simple/fixture/SimpleObject_persona.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- *  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.
- */
-
-package domainapp.modules.simple.fixture;
-
-import org.apache.isis.applib.services.registry.ServiceRegistry;
-import org.apache.isis.extensions.fixtures.api.PersonaWithBuilderScript;
-import org.apache.isis.extensions.fixtures.api.PersonaWithFinder;
-import org.apache.isis.extensions.fixtures.legacy.setup.PersonaEnumPersistAll;
-
-import domainapp.modules.simple.dom.impl.SimpleObject;
-import domainapp.modules.simple.dom.impl.SimpleObjects;
-import lombok.AllArgsConstructor;
-
-@AllArgsConstructor
-public enum SimpleObject_persona 
-implements PersonaWithBuilderScript<SimpleObjectBuilder>, PersonaWithFinder<SimpleObject> {
-
-    FOO("Foo"),
-    BAR("Bar"),
-    BAZ("Baz"),
-    FRODO("Frodo"),
-    FROYO("Froyo"),
-    FIZZ("Fizz"),
-    BIP("Bip"),
-    BOP("Bop"),
-    BANG("Bang"),
-    BOO("Boo");
-
-    private final String name;
-
-    @Override
-    public SimpleObjectBuilder builder() {
-        return new SimpleObjectBuilder().setName(name);
-    }
-
-    @Override
-    public SimpleObject findUsing(final ServiceRegistry serviceRegistry) {
-        SimpleObjects simpleObjects = serviceRegistry.lookupService(SimpleObjects.class).orElse(null);
-        return simpleObjects.findByNameExact(name);
-    }
-
-    public static class PersistAll
-    extends PersonaEnumPersistAll<SimpleObject_persona, SimpleObject> {
-
-        public PersistAll() {
-            super(SimpleObject_persona.class);
-        }
-    }
-}
diff --git a/starters/simpleapp/module-simple/src/test/java/domainapp/modules/simple/dom/impl/SimpleObject_Test.java b/starters/simpleapp/module-simple/src/test/java/domainapp/modules/simple/dom/impl/SimpleObject_Test.java
deleted file mode 100644
index 8ad7b15..0000000
--- a/starters/simpleapp/module-simple/src/test/java/domainapp/modules/simple/dom/impl/SimpleObject_Test.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/**
- *  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.
- */
-package domainapp.modules.simple.dom.impl;
-
-
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
-
-import static org.assertj.core.api.Assertions.assertThat;
-
-public class SimpleObject_Test {
-
-    SimpleObject simpleObject;
-
-    @BeforeEach
-    public void setUp() throws Exception {
-        simpleObject = SimpleObject.ofName("Foobar");
-    }
-
-    public static class Name extends SimpleObject_Test {
-
-        @Test
-        public void happyCase() throws Exception {
-            // given
-            assertThat(simpleObject.getName()).isEqualTo("Foobar");
-
-            // when
-            String name = "Foobar - updated";
-            simpleObject.setName(name);
-
-            // then
-            assertThat(simpleObject.getName()).isEqualTo(name);
-        }
-    }
-
-}
diff --git a/starters/simpleapp/module-simple/src/test/java/domainapp/modules/simple/dom/impl/SimpleObjects_Test.java b/starters/simpleapp/module-simple/src/test/java/domainapp/modules/simple/dom/impl/SimpleObjects_Test.java
deleted file mode 100644
index 732d0e9..0000000
--- a/starters/simpleapp/module-simple/src/test/java/domainapp/modules/simple/dom/impl/SimpleObjects_Test.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/**
- *  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.
- */
-package domainapp.modules.simple.dom.impl;
-
-import java.util.List;
-
-import org.hamcrest.Description;
-import org.hamcrest.Matcher;
-import org.hamcrest.TypeSafeMatcher;
-import org.jmock.Expectations;
-import org.jmock.auto.Mock;
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-
-import org.apache.isis.applib.services.repository.RepositoryService;
-import org.apache.isis.commons.internal.collections._Lists;
-import org.apache.isis.unittestsupport.jmocking.JMockActions;
-import org.apache.isis.unittestsupport.jmocking.JUnitRuleMockery2;
-import org.apache.isis.unittestsupport.jmocking.JUnitRuleMockery2.Mode;
-
-import static org.assertj.core.api.Assertions.assertThat;
-
-public class SimpleObjects_Test {
-
-    @Rule
-    public JUnitRuleMockery2 context = JUnitRuleMockery2.createFor(Mode.INTERFACES_AND_CLASSES);
-
-    @Mock
-    RepositoryService mockRepositoryService;
-
-    SimpleObjects simpleObjects;
-
-    @Before
-    public void setUp() {
-        simpleObjects = new SimpleObjects();
-        simpleObjects.repositoryService = mockRepositoryService;
-    }
-
-    public static class Create extends SimpleObjects_Test {
-
-        @Test
-        public void happyCase() {
-
-            final String someName = "Foobar";
-
-            // given
-            context.checking(new Expectations() {
-                {
-                    oneOf(mockRepositoryService).persist(with(nameOf(someName)));
-                    will(JMockActions.returnArgument(0));
-                }
-
-            });
-
-            // when
-            final SimpleObject obj = simpleObjects.create(someName);
-
-            // then
-            assertThat(obj).isNotNull();
-            assertThat(obj.getName()).isEqualTo(someName);
-        }
-
-        private static Matcher<SimpleObject> nameOf(final String name) {
-            return new TypeSafeMatcher<SimpleObject>() {
-                @Override
-                protected boolean matchesSafely(final SimpleObject item) {
-                    return name.equals(item.getName());
-                }
-
-                @Override
-                public void describeTo(final Description description) {
-                    description.appendText("has name of '" + name + "'");
-                }
-            };
-        }
-    }
-
-    public static class ListAll extends SimpleObjects_Test {
-
-        @Test
-        public void happyCase() {
-
-            // given
-            final List<SimpleObject> all = _Lists.newArrayList();
-
-            context.checking(new Expectations() {
-                {
-                    oneOf(mockRepositoryService).allInstances(SimpleObject.class);
-                    will(returnValue(all));
-                }
-            });
-
-            // when
-            final List<SimpleObject> list = simpleObjects.listAll();
-
-            // then
-            assertThat(list).isEqualTo(all);
-        }
-    }
-}
diff --git a/starters/simpleapp/module-simple/src/test/java/domainapp/modules/simple/integtests/SimpleModuleIntegTestAbstract.java b/starters/simpleapp/module-simple/src/test/java/domainapp/modules/simple/integtests/SimpleModuleIntegTestAbstract.java
deleted file mode 100644
index 65334a1..0000000
--- a/starters/simpleapp/module-simple/src/test/java/domainapp/modules/simple/integtests/SimpleModuleIntegTestAbstract.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- *  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.
- */
-package domainapp.modules.simple.integtests;
-
-import domainapp.modules.simple.SimpleModule;
-
-import org.apache.isis.config.IsisPresets;
-import org.apache.isis.extensions.fixtures.IsisExtFixturesModule;
-import org.apache.isis.extensions.fixtures.IsisIntegrationTestAbstractWithFixtures;
-import org.apache.isis.jdo.IsisBootDataNucleus;
-import org.apache.isis.runtime.spring.IsisBoot;
-import org.apache.isis.security.bypass.IsisBootSecurityBypass;
-import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.context.annotation.Import;
-import org.springframework.context.annotation.PropertySource;
-import org.springframework.context.annotation.PropertySources;
-
-
-@SpringBootTest(classes = SimpleModuleIntegTestAbstract.AppManifest.class)
-public abstract class SimpleModuleIntegTestAbstract extends IsisIntegrationTestAbstractWithFixtures {
-
-    @Configuration
-    @PropertySources({
-        @PropertySource(IsisPresets.H2InMemory_withUniqueSchema),
-        @PropertySource(IsisPresets.Log4j2Test),
-        @PropertySource(IsisPresets.DataNucleusAutoCreate),
-    })
-    @Import({
-        IsisBoot.class,
-        IsisBootSecurityBypass.class,
-        IsisBootDataNucleus.class,
-        IsisExtFixturesModule.class,
-        SimpleModule.class
-    })
-    public static class AppManifest {
-    }
-
-}
-
diff --git a/starters/simpleapp/module-simple/src/test/java/domainapp/modules/simple/integtests/tests/SimpleObject_IntegTest.java b/starters/simpleapp/module-simple/src/test/java/domainapp/modules/simple/integtests/tests/SimpleObject_IntegTest.java
deleted file mode 100644
index 7901c41..0000000
--- a/starters/simpleapp/module-simple/src/test/java/domainapp/modules/simple/integtests/tests/SimpleObject_IntegTest.java
+++ /dev/null
@@ -1,153 +0,0 @@
-/*
- *  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.
- */
-package domainapp.modules.simple.integtests.tests;
-
-import java.sql.Timestamp;
-
-import javax.inject.Inject;
-
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
-import org.springframework.transaction.annotation.Transactional;
-
-import org.apache.isis.applib.services.title.TitleService;
-import org.apache.isis.applib.services.wrapper.DisabledException;
-import org.apache.isis.applib.services.wrapper.InvalidException;
-import org.apache.isis.jdo.jdosupport.mixins.Persistable_datanucleusIdLong;
-import org.apache.isis.jdo.jdosupport.mixins.Persistable_datanucleusVersionTimestamp;
-
-import static org.assertj.core.api.Assertions.assertThat;
-import static org.hamcrest.CoreMatchers.containsString;
-import static org.junit.Assert.assertThat;
-import static org.junit.jupiter.api.Assertions.assertThrows;
-
-import domainapp.modules.simple.dom.impl.SimpleObject;
-import domainapp.modules.simple.fixture.SimpleObject_persona;
-import domainapp.modules.simple.integtests.SimpleModuleIntegTestAbstract;
-
-@Transactional
-public class SimpleObject_IntegTest extends SimpleModuleIntegTestAbstract {
-
-    SimpleObject simpleObject;
-
-    @BeforeEach
-    public void setUp() {
-        // given
-        simpleObject = fixtureScripts.runPersona(SimpleObject_persona.FOO);
-    }
-
-    public static class Name extends SimpleObject_IntegTest {
-
-        @Test
-        public void accessible() {
-            // when
-            final String name = wrap(simpleObject).getName();
-
-            // then
-            assertThat(name).isEqualTo(simpleObject.getName());
-        }
-
-        @Test
-        public void not_editable() {
-
-            // expect
-            assertThrows(DisabledException.class, ()->{
-
-                // when
-                wrap(simpleObject).setName("new name");
-
-            });
-        }
-
-    }
-
-    public static class UpdateName extends SimpleObject_IntegTest {
-
-        @Test
-        public void can_be_updated_directly() {
-
-            // when
-            wrap(simpleObject).updateName("new name");
-            transactionService.flushTransaction();
-
-            // then
-            assertThat(wrap(simpleObject).getName()).isEqualTo("new name");
-        }
-
-        @Test
-        public void failsValidation() {
-
-            // expect
-            InvalidException cause = assertThrows(InvalidException.class, ()->{
-
-                // when
-                wrap(simpleObject).updateName("new name!");
-
-            });
-
-            // also expect
-            assertThat(cause.getMessage(), containsString("Exclamation mark is not allowed."));
-
-        }
-    }
-
-
-    public static class Title extends SimpleObject_IntegTest {
-
-        @Inject
-        TitleService titleService;
-
-        @Test
-        public void interpolatesName() {
-
-            // given
-            final String name = wrap(simpleObject).getName();
-
-            // when
-            final String title = titleService.titleOf(simpleObject);
-
-            // then
-            assertThat(title).isEqualTo("Object: " + name);
-        }
-    }
-
-    public static class DataNucleusId extends SimpleObject_IntegTest {
-
-        @Test
-        public void should_be_populated() {
-            // when
-            final Long id = mixin(Persistable_datanucleusIdLong.class, simpleObject).prop();
-
-            // then
-            assertThat(id).isGreaterThanOrEqualTo(0);
-        }
-    }
-
-    public static class DataNucleusVersionTimestamp extends SimpleObject_IntegTest {
-
-        @Test
-        public void should_be_populated() {
-            // when
-            final Timestamp timestamp = mixin(Persistable_datanucleusVersionTimestamp.class, simpleObject).prop();
-            // then
-            assertThat(timestamp).isNotNull();
-        }
-    }
-
-}
\ No newline at end of file
diff --git a/starters/simpleapp/module-simple/src/test/java/domainapp/modules/simple/integtests/tests/SimpleObjects_IntegTest.java b/starters/simpleapp/module-simple/src/test/java/domainapp/modules/simple/integtests/tests/SimpleObjects_IntegTest.java
deleted file mode 100644
index 1769414..0000000
--- a/starters/simpleapp/module-simple/src/test/java/domainapp/modules/simple/integtests/tests/SimpleObjects_IntegTest.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- *  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.
- */
-package domainapp.modules.simple.integtests.tests;
-
-import java.sql.SQLIntegrityConstraintViolationException;
-import java.util.List;
-
-import javax.inject.Inject;
-import javax.jdo.JDODataStoreException;
-
-import org.hamcrest.MatcherAssert;
-import org.junit.jupiter.api.Test;
-import org.springframework.transaction.annotation.Transactional;
-
-import org.apache.isis.integtestsupport.ThrowableMatchers;
-
-import static org.assertj.core.api.Assertions.assertThat;
-import static org.junit.jupiter.api.Assertions.assertThrows;
-
-import domainapp.modules.simple.dom.impl.SimpleObject;
-import domainapp.modules.simple.dom.impl.SimpleObjects;
-import domainapp.modules.simple.fixture.SimpleObject_persona;
-import domainapp.modules.simple.integtests.SimpleModuleIntegTestAbstract;
-
-@Transactional
-public class SimpleObjects_IntegTest extends SimpleModuleIntegTestAbstract {
-
-    @Inject
-    SimpleObjects menu;
-
-    public static class ListAll extends SimpleObjects_IntegTest {
-
-        @Test
-        public void happyCase() {
-
-            // given
-            fixtureScripts.run(new SimpleObject_persona.PersistAll());
-            transactionService.flushTransaction();
-
-            // when
-            final List<SimpleObject> all = wrap(menu).listAll();
-
-            // then
-            assertThat(all).hasSize(SimpleObject_persona.values().length);
-        }
-
-        @Test
-        public void whenNone() {
-
-            // when
-            final List<SimpleObject> all = wrap(menu).listAll();
-
-            // then
-            assertThat(all).hasSize(0);
-        }
-    }
-
-    public static class Create extends SimpleObjects_IntegTest {
-
-        @Test
-        public void happyCase() {
-
-            wrap(menu).create("Faz");
-
-            // then
-            final List<SimpleObject> all = wrap(menu).listAll();
-            assertThat(all).hasSize(1);
-        }
-
-        @Test
-        public void whenAlreadyExists() {
-
-            // given
-            fixtureScripts.runPersona(SimpleObject_persona.FIZZ);
-            transactionService.flushTransaction();
-
-            // expect
-            Throwable cause = assertThrows(Throwable.class, ()->{
-
-                // when
-                wrap(menu).create("Fizz");
-                transactionService.flushTransaction();
-
-            });
-
-            // also expect
-            MatcherAssert.assertThat(cause, 
-                    ThrowableMatchers.causedBy(JDODataStoreException.class));
-
-        }
-
-    }
-
-
-}
\ No newline at end of file
diff --git a/starters/simpleapp/pom.xml b/starters/simpleapp/pom.xml
deleted file mode 100644
index 1f56c56..0000000
--- a/starters/simpleapp/pom.xml
+++ /dev/null
@@ -1,81 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  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.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-
-    <parent>
-        <groupId>org.apache.isis.app</groupId>
-        <artifactId>isis-app-starter-parent</artifactId>
-        <version>2.0.0-M3-SNAPSHOT</version>
-    </parent>
-
-    <groupId>org.apache.isis.examples.apps</groupId>
-    <artifactId>simpleapp</artifactId>
-
-    <name>Apache Isis App - SimpleApp Parent</name>
-
-    <packaging>pom</packaging>
-
-    <dependencyManagement>
-        <dependencies>
-
-            <!-- this project's own modules -->
-            <dependency>
-                <groupId>org.apache.isis.examples.apps</groupId>
-                <artifactId>simpleapp-module-simple</artifactId>
-                <version>${project.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.isis.examples.apps</groupId>
-                <artifactId>simpleapp-module-simple</artifactId>
-                <version>${project.version}</version>
-                <scope>test</scope>
-                <type>test-jar</type>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.isis.examples.apps</groupId>
-                <artifactId>simpleapp-application</artifactId>
-                <version>${project.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.isis.examples.apps</groupId>
-                <artifactId>simpleapp-webapp</artifactId>
-                <version>${project.version}</version>
-            </dependency>
-
-        </dependencies>
-    </dependencyManagement>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.projectlombok</groupId>
-            <artifactId>lombok</artifactId>
-            <scope>provided</scope>
-        </dependency>
-    </dependencies>
-
-    <modules>
-        <module>module-simple</module>
-        <module>application</module>
-        <module>webapp</module>
-    </modules>
-
-</project>
diff --git a/starters/simpleapp/src/main/doc/antora.yml b/starters/simpleapp/src/main/doc/antora.yml
deleted file mode 100644
index 514eb32..0000000
--- a/starters/simpleapp/src/main/doc/antora.yml
+++ /dev/null
@@ -1,6 +0,0 @@
-name: simpleapp
-title: "Starter App - SimpleApp"
-version: master
-start_page: ROOT:about.adoc
-nav:
-- modules/ROOT/nav.adoc
diff --git a/starters/simpleapp/src/main/webapp/images/favicon.png b/starters/simpleapp/src/main/webapp/images/favicon.png
deleted file mode 100644
index f232805..0000000
Binary files a/starters/simpleapp/src/main/webapp/images/favicon.png and /dev/null differ
diff --git a/starters/simpleapp/webapp/pom.xml b/starters/simpleapp/webapp/pom.xml
deleted file mode 100644
index a3b37ba..0000000
--- a/starters/simpleapp/webapp/pom.xml
+++ /dev/null
@@ -1,239 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  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.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-
-    <parent>
-        <groupId>org.apache.isis.examples.apps</groupId>
-        <artifactId>simpleapp</artifactId>
-        <version>2.0.0-M3-SNAPSHOT</version>
-    </parent>
-
-    <artifactId>simpleapp-webapp</artifactId>
-    <name>Apache Isis App - SimpleApp Webapp</name>
-
-    <description>This assemblies and runs both the Wicket viewer and the Restfulobjects viewer in a single webapp configured to run using the datanucleus object store.</description>
-
-    <packaging>jar</packaging>
-
-    <properties>
-        <maven-war-plugin.warName>${project.parent.artifactId}</maven-war-plugin.warName>
-    </properties>
-
-    <build>
-        <resources>
-            <resource>
-                <filtering>false</filtering>
-                <directory>src/main/java</directory>
-                <includes>
-                    <include>**</include>
-                </includes>
-                <excludes>
-                    <exclude>**/*.java</exclude>
-                </excludes>
-            </resource>
-        </resources>
-    </build>
-
-    <dependencies>
-    
-    	<!-- this app -->
-        <dependency>
-            <groupId>${project.groupId}</groupId>
-            <artifactId>simpleapp-application</artifactId>
-        </dependency>
-
-        <!-- isis -->
-        <dependency>
-            <groupId>org.apache.isis.mavendeps</groupId>
-            <artifactId>isis-mavendeps-webapp</artifactId>
-            <type>pom</type>
-        </dependency>
-
-        <dependency>
-            <groupId>com.h2database</groupId>
-            <artifactId>h2</artifactId>
-        </dependency>
-
-        <!-- test -->
-        <dependency>
-            <groupId>org.apache.isis.mavendeps</groupId>
-            <artifactId>isis-mavendeps-testing</artifactId>
-            <type>pom</type>
-            <scope>test</scope>
-        </dependency>
-
-    </dependencies>
-
-    <profiles>
-
-        <profile>
-            <id>actuator</id>
-            <activation>
-                <property>
-                    <name>!skip.actuator</name>
-                </property>
-            </activation>
-            <dependencies>
-                <dependency>
-                    <groupId>org.springframework.boot</groupId>
-                    <artifactId>spring-boot-actuator-autoconfigure</artifactId>
-                </dependency>
-            </dependencies>
-        </profile>
-
-        <!-- running: mvn spring-boot:run -->
-		<profile>
-			<id>package-as-jar</id>
-			<activation>
-				<property>
-					<name>!skip.package-as-jar</name>
-				</property>
-			</activation>
-
-			<build>
-				<plugins>
-					<plugin>
-						<groupId>org.springframework.boot</groupId>
-						<artifactId>spring-boot-maven-plugin</artifactId>
-						<version>${spring-boot.version}</version>
-						<executions>
-							<execution>
-								<goals>
-									<goal>repackage</goal>
-								</goals>
-							</execution>
-						</executions>
-					</plugin>
-				</plugins>
-			</build>
-		</profile>
-    
-        <profile>
-            <id>jdbc-logging</id>
-            <activation>
-                <property>
-                    <name>jdbc-logging</name>
-                </property>
-            </activation>
-            <dependencies>
-                <dependency>
-                    <groupId>org.lazyluke</groupId>
-                    <artifactId>log4jdbc-remix</artifactId>
-                    <exclusions>
-                        <exclusion>
-                            <groupId>org.slf4j</groupId>
-                            <artifactId>slf4j-api</artifactId>
-                        </exclusion>
-                    </exclusions>
-                </dependency>
-            </dependencies>
-        </profile>
-
-        <profile>
-            <id>lockdown</id>
-            <activation>
-                <property>
-                    <name>lockdown</name>
-                </property>
-            </activation>
-            <build>
-                <plugins>
-                    <plugin>
-                        <artifactId>maven-dependency-plugin</artifactId>
-                        <executions>
-                            <execution>
-                                <id>list</id>
-                                <phase>generate-test-resources</phase>
-                                <goals>
-                                    <goal>list</goal>
-                                </goals>
-                                <configuration>
-                                    <outputFile>${project.build.directory}/test-classes/domain/webapp/lockdown/LockDownMavenDeps_Test.list.actual.txt</outputFile>
-                                </configuration>
-                            </execution>
-                            <execution>
-                                <id>tree</id>
-                                <phase>generate-test-resources</phase>
-                                <goals>
-                                    <goal>tree</goal>
-                                </goals>
-                                <configuration>
-                                    <outputFile>${project.build.directory}/test-classes/domain/webapp/lockdown/LockDownMavenDeps_Test.tree.actual.txt</outputFile>
-                                </configuration>
-                            </execution>
-                        </executions>
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
-
-        <profile>
-            <id>docker</id>
-            <activation>
-                <property>
-                    <name>docker</name>
-                </property>
-            </activation>
-            <properties>
-                <packaging.type>jar</packaging.type>
-                <package-as-war>false</package-as-war>
-            </properties>
-            <build>
-                <plugins>
-                    <plugin>
-                        <groupId>com.google.cloud.tools</groupId>
-                        <artifactId>jib-maven-plugin</artifactId>
-                        <configuration>
-                            <from>
-                                <image>openjdk:13-alpine</image>
-                            </from>
-                            <container>
-                                <jvmFlags>
-                                    <jvmFlag>-Xmx512m</jvmFlag>
-                                </jvmFlags>
-                                <mainClass>domainapp.application.HelloWorldApp</mainClass>
-                                <ports>
-                                    <port>8080</port>
-                                </ports>
-                            </container>
-                            <to>
-                                <image>docker.io/apacheisis/simpleapp:latest</image>
-                                <auth>
-                                    <username>${env.DOCKER_REGISTRY_USERNAME}</username>
-                                    <password>${env.DOCKER_REGISTRY_PASSWORD}</password>
-                                </auth>
-                            </to>
-                        </configuration>
-                        <executions>
-                            <execution>
-                                <phase>package</phase>
-                                <goals>
-                                    <goal>build</goal>
-                                </goals>
-                            </execution>
-                        </executions>
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
-    </profiles>
-
-</project>
diff --git a/starters/simpleapp/webapp/src/main/java/domainapp/webapp/SimpleApp.java b/starters/simpleapp/webapp/src/main/java/domainapp/webapp/SimpleApp.java
deleted file mode 100644
index e4396e0..0000000
--- a/starters/simpleapp/webapp/src/main/java/domainapp/webapp/SimpleApp.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- *  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.
- */
-package domainapp.webapp;
-
-import domainapp.application.ApplicationModule;
-import domainapp.application.fixture.scenarios.DomainAppDemo;
-
-import org.apache.isis.extensions.fixtures.IsisExtFixturesModule;
-import org.apache.isis.jdo.IsisBootDataNucleus;
-import org.apache.isis.runtime.spring.IsisBoot;
-import org.apache.isis.security.shiro.IsisBootSecurityShiro;
-import org.apache.isis.viewer.restfulobjects.IsisBootViewerRestfulObjects;
-import org.apache.isis.viewer.wicket.viewer.IsisBootViewerWicket;
-import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.context.annotation.Import;
-
-import org.apache.isis.config.IsisPresets;
-import org.springframework.context.annotation.PropertySource;
-import org.springframework.context.annotation.PropertySources;
-
-@SpringBootApplication
-@Import({
-    SimpleApp.AppManifest.class,
-})
-public class SimpleApp extends SpringBootServletInitializer {
-
-    @Configuration
-    @PropertySources({
-            @PropertySource(IsisPresets.NoTranslations),
-            @PropertySource(IsisPresets.DataNucleusAutoCreate),
-    })
-    @Import({
-            IsisBoot.class,
-            IsisBootSecurityShiro.class,
-            IsisBootDataNucleus.class,
-            IsisBootViewerRestfulObjects.class,
-            IsisBootViewerWicket.class,
-
-            IsisExtFixturesModule.class,
-
-            ApplicationModule.class,
-            DomainAppDemo.class // register this fixture
-    })
-    public static class AppManifest {
-    }
-
-    /**
-     * @implNote this is to support the <em>Spring Boot Maven Plugin</em>, which auto-detects an
-     * entry point by searching for classes having a {@code main(...)}
-     */
-    public static void main(String[] args) {
-        IsisPresets.prototyping();
-        SpringApplication.run(new Class[] { SimpleApp.class }, args);
-    }
-
-}
diff --git a/starters/simpleapp/webapp/src/main/java/domainapp/webapp/layout/menubars.layout.xml b/starters/simpleapp/webapp/src/main/java/domainapp/webapp/layout/menubars.layout.xml
deleted file mode 100644
index d286f2d..0000000
--- a/starters/simpleapp/webapp/src/main/java/domainapp/webapp/layout/menubars.layout.xml
+++ /dev/null
@@ -1,115 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<!--
-  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.
--->
-<mb3:menuBars xsi:schemaLocation="http://isis.apache.org/applib/layout/menubars/bootstrap3 http://isis.apache.org/applib/layout/menubars/bootstrap3/menubars.xsd http://isis.apache.org/applib/layout/component http://isis.apache.org/applib/layout/component/component.xsd http://isis.apache.org/applib/layout/links http://isis.apache.org/applib/layout/links/links.xsd" xmlns:cpt="http://isis.apache.org/applib/layout/component" xmlns:lnk="http://isis.apache.org/applib/layout/links" xmlns:mb3="h [...]
-    <mb3:primary>
-        <mb3:menu>
-            <mb3:named>Simple Objects</mb3:named>
-            <mb3:section>
-                <mb3:serviceAction objectType="simple.SimpleObjects" id="create">
-                    <cpt:named>Create</cpt:named>
-                </mb3:serviceAction>
-                <mb3:serviceAction objectType="simple.SimpleObjects" id="findByName">
-                    <cpt:named>Find By Name</cpt:named>
-                </mb3:serviceAction>
-                <mb3:serviceAction objectType="simple.SimpleObjects" id="listAll">
-                    <cpt:named>List All</cpt:named>
-                </mb3:serviceAction>
-            </mb3:section>
-        </mb3:menu>
-        <mb3:menu unreferencedActions="true">
-            <mb3:named>Other</mb3:named>
-        </mb3:menu>
-    </mb3:primary>
-    <mb3:secondary>
-        <mb3:menu>
-            <mb3:named>Prototyping</mb3:named>
-            <mb3:section>
-                <mb3:serviceAction objectType="isisApplib.FixtureScriptsDefault" id="runFixtureScript">
-                    <cpt:named>Run Fixture Script</cpt:named>
-                </mb3:serviceAction>
-                <mb3:serviceAction objectType="isisApplib.FixtureScriptsDefault" id="runFixtureScriptWithAutoComplete">
-                    <cpt:named>Run Fixture Script</cpt:named>
-                </mb3:serviceAction>
-                <mb3:serviceAction objectType="isisApplib.FixtureScriptsDefault" id="recreateObjectsAndReturnFirst">
-                    <cpt:named>Recreate Objects And Return First</cpt:named>
-                </mb3:serviceAction>
-            </mb3:section>
-            <mb3:section>
-                <mb3:serviceAction objectType="isisApplib.LayoutServiceMenu" id="downloadLayouts">
-                    <cpt:named>Download Object Layouts (ZIP)</cpt:named>
-                </mb3:serviceAction>
-                <mb3:serviceAction objectType="isisApplib.LayoutServiceMenu" id="downloadMenuBarsLayout">
-                    <cpt:named>Download Menu Bars Layout (XML)</cpt:named>
-                </mb3:serviceAction>
-            </mb3:section>
-            <mb3:section>
-				<mb3:serviceAction objectType="isisApplib.MetaModelServicesMenu" id="downloadMetaModelXml">
-                    <cpt:named>Download Meta Model (XML)</cpt:named>
-                </mb3:serviceAction>
-                <mb3:serviceAction objectType="isisApplib.MetaModelServicesMenu" id="downloadMetaModelCsv">
-                    <cpt:named>Download Meta Model (CSV)</cpt:named>
-                </mb3:serviceAction>
-            </mb3:section>
-            <mb3:section>
-                <mb3:serviceAction objectType="isisApplib.SwaggerServiceMenu" id="openSwaggerUi">
-                    <cpt:named>Open Swagger Ui</cpt:named>
-                </mb3:serviceAction>
-                <mb3:serviceAction objectType="isisApplib.SwaggerServiceMenu" id="openRestApi">
-                    <cpt:named>Open Rest Api</cpt:named>
-                </mb3:serviceAction>
-                <mb3:serviceAction objectType="isisApplib.SwaggerServiceMenu" id="downloadSwaggerSchemaDefinition">
-                    <cpt:named>Download Swagger Schema Definition</cpt:named>
-                </mb3:serviceAction>
-            </mb3:section>
-            <mb3:section>
-                <mb3:serviceAction objectType="isisApplib.TranslationServicePoMenu" id="downloadTranslations">
-                    <cpt:named>Download Translations</cpt:named>
-                </mb3:serviceAction>
-                <mb3:serviceAction objectType="isisApplib.TranslationServicePoMenu" id="resetTranslationCache">
-                    <cpt:named>Clear translation cache</cpt:named>
-                </mb3:serviceAction>
-                <mb3:serviceAction objectType="isisApplib.TranslationServicePoMenu" id="switchToReadingTranslations">
-                    <cpt:named>Switch To Reading Translations</cpt:named>
-                </mb3:serviceAction>
-                <mb3:serviceAction objectType="isisApplib.TranslationServicePoMenu" id="switchToWritingTranslations">
-                    <cpt:named>Switch To Writing Translations</cpt:named>
-                </mb3:serviceAction>
-            </mb3:section>
-            <mb3:section>
-                <mb3:serviceAction objectType="isisApplib.HsqlDbManagerMenu" id="hsqlDbManager">
-                    <cpt:named>HSQL DB Manager</cpt:named>
-                </mb3:serviceAction>
-                <mb3:serviceAction objectType="isisApplib.H2ManagerMenu" id="openH2Console">
-                    <cpt:named>H2 Console</cpt:named>
-                </mb3:serviceAction>
-            </mb3:section>
-        </mb3:menu>
-    </mb3:secondary>
-    <mb3:tertiary>
-        <mb3:menu>
-            <mb3:named>Configuration Service Menu</mb3:named>
-            <mb3:section>
-                <mb3:serviceAction objectType="isisApplib.ConfigurationMenu" id="configuration">
-                    <cpt:named>Configuration</cpt:named>
-                </mb3:serviceAction>
-            </mb3:section>
-        </mb3:menu>
-    </mb3:tertiary>
-</mb3:menuBars>
diff --git a/starters/simpleapp/webapp/src/main/resources/application.yml b/starters/simpleapp/webapp/src/main/resources/application.yml
deleted file mode 100644
index cb8143a..0000000
--- a/starters/simpleapp/webapp/src/main/resources/application.yml
+++ /dev/null
@@ -1,145 +0,0 @@
-#
-# Recommend use for static configuration that does not change between environments.
-#
-# See also config/application.properties
-#
-isis:
-  reflector:
-    validator:
-      allowDeprecated: false
-      noParamsOnly: true
-      explicitObjectType: true
-      serviceActionsOnly: true
-      mixinsOnly: true
-
-    facet:
-      cssClassFa:
-        patterns:
-          new.*:fa-plus,\
-          add.*:fa-plus-square,\
-          create.*:fa-plus,\
-          update.*:fa-edit,\
-          delete.*:fa-trash,\
-          save.*:fa-floppy-o,\
-          change.*:fa-edit,\
-          edit.*:fa-pencil-square-o,\
-          maintain.*:fa-edit,\
-          remove.*:fa-minus-square,\
-          copy.*:fa-copy,\
-          move.*:fa-exchange,\
-          first.*:fa-star,\
-          find.*:fa-search,\
-          lookup.*:fa-search,\
-          search.*:fa-search,\
-          view.*:fa-search,\
-          clear.*:fa-remove,\
-          previous.*:fa-step-backward,\
-          next.*:fa-step-forward,\
-          list.*:fa-list, \
-          all.*:fa-list, \
-          download.*:fa-download, \
-          upload.*:fa-upload, \
-          export.*:fa-download,\
-          switch.*:fa-exchange,\
-          import.*:fa-upload,\
-          execute.*:fa-bolt, \
-          run.*:fa-bolt, \
-          calculate.*:fa-calculator, \
-          verify.*:fa-check-circle, \
-          refresh.*:fa-refresh, \
-          install.*:fa-wrench,\
-          stop.*:fa-stop,\
-          terminate.*:fa-stop,\
-          cancel.*:fa-stop,\
-          discard.*:fa-trash-o,\
-          pause.*:fa-pause,\
-          suspend.*:fa-pause,\
-          resume.*:fa-play,\
-          renew.*:fa-repeat,\
-          reset.*:fa-repeat,\
-          categorise.*:fa-folder-open-o,\
-          assign.*:fa-hand-o-right,\
-          approve.*:fa-thumbs-o-up,\
-          decline.*:fa-thumbs-o-down
-
-      cssClass:
-        patterns:
-          delete.*:btn-danger,\
-          discard.*:btn-warning,\
-          remove.*:btn-warning
-
-    explicitAnnotations:
-      action: true
-
-  objects:
-    editing: false
-
-  services:
-    audit:
-      objects: all
-    command:
-      actions: ignore_safe
-      properties: all
-    publish:
-      objects: all
-      actions: all
-      properties: all
-
-    injector:
-      setPrefix: false
-
-  value:
-    format:
-      date: dd-MM-yyyy
-
-  viewer:
-    wicket:
-      application:
-        menubarsLayoutXml: domainapp/webapp/layout/menubars.layout.xml
-        brandLogoHeader: /images/apache-isis/logo-48x48.png
-        faviconUrl: /images/favicon.png
-        name: Simple App
-        css: css/application.css
-        js: scripts/application.js
-        about: Simple App
-      welcome:
-        file: welcome.html
-
-      credit[0]:
-        image: /images/apache-isis/logo-48x48.png
-        name: Apache Isis
-        url: http://isis.apache.org
-
-      themes:
-        initial: Flatly
-        showChooser: true
-        enabled: bootstrap-theme, Cerulean, Cosmo, Cyborg, Darkly, Flatly, Journal, Lumen, Paper, Readable, Sandstone, Simplex, Slate, Spacelab, Superhero, United, Yeti
-
-      maxTitleLengthInStandaloneTables: 0
-      maxTitleLengthInParentedTables: 0
-
-      developmentUtilities:
-        enable: true
-
-  persistor:
-    datanucleus:
-      impl:
-        datanucleus:
-          schema:
-            validateTables: true
-            validateConstraints: true
-
-          persistenceByReachabilityAtCommit: false
-          identifier:
-            case: MixedCase
-
-          cache:
-            level2:
-              type: none
-              mode: ENABLE_SELECTIVE
-
-      standaloneCollection:
-        bulkLoad: false
-spring:
-  banner:
-    location: banner.txt
diff --git a/starters/simpleapp/webapp/src/main/resources/banner.txt b/starters/simpleapp/webapp/src/main/resources/banner.txt
deleted file mode 100644
index 3f593d9..0000000
--- a/starters/simpleapp/webapp/src/main/resources/banner.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-  ,---.                           ,--.                ,--.         ,--.
- /  O  \   ,---.   ,--,--.  ,---. |  ,---.   ,---.    |  |  ,---.  `--'  ,---.
-|  .-.  | | .-. | ' ,-.  | | .--' |  .-.  | | .-. :   |  | (  .-'  ,--. (  .-'
-|  | |  | | '-' ' \ '-'  | \ `--. |  | |  | \   --.   |  | .-'  `) |  | .-'  `)
-`--' `--' |  |-'   `--`--'  `---' `--' `--'  `----'   `--' `----'  `--' `----'
-          `--'
diff --git a/starters/simpleapp/webapp/src/main/resources/config/application.properties b/starters/simpleapp/webapp/src/main/resources/config/application.properties
deleted file mode 100644
index 13ec292..0000000
--- a/starters/simpleapp/webapp/src/main/resources/config/application.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-#
-# Recommend use for configuration that changes between environments.
-#
-# To override externally, see Spring Boot docs
-# https://docs.spring.io/spring-boot/docs/current/reference/html/spring-boot-features.html#boot-features-external-config
-#
-# See also /application.yml
-#
-isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionURL = jdbc:h2:mem:test
-isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionDriverName = org.h2.Driver
-isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionUserName = sa
-isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionPassword =
\ No newline at end of file
diff --git a/starters/simpleapp/webapp/src/main/resources/shiro.ini b/starters/simpleapp/webapp/src/main/resources/shiro.ini
deleted file mode 100644
index 019f356..0000000
--- a/starters/simpleapp/webapp/src/main/resources/shiro.ini
+++ /dev/null
@@ -1,93 +0,0 @@
-#
-# 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.
-#
-
-[main]
-
-contextFactory = org.apache.isis.security.shiro.IsisLdapContextFactory
-contextFactory.url = ldap://localhost:10389
-contextFactory.authenticationMechanism = CRAM-MD5
-contextFactory.systemAuthenticationMechanism = simple
-contextFactory.systemUsername = uid=admin,ou=system
-contextFactory.systemPassword = secret
-
-ldapRealm = org.apache.isis.security.shiro.IsisLdapRealm
-ldapRealm.contextFactory = $contextFactory
-
-ldapRealm.searchBase = ou=groups,o=mojo
-ldapRealm.groupObjectClass = groupOfUniqueNames
-ldapRealm.uniqueMemberAttribute = uniqueMember
-ldapRealm.uniqueMemberAttributeValueTemplate = uid={0}
-
-# optional mapping from physical groups to logical application roles
-#ldapRealm.rolesByGroup = \
-#    LDN_USERS: user_role,\
-#    NYK_USERS: user_role,\
-#    HKG_USERS: user_role,\
-#    GLOBAL_ADMIN: admin_role,\
-#    DEMOS: self-install_role
-
-ldapRealm.permissionsByRole=\
-   user_role = *:SimpleObjectMenu:*:*,\
-               *:SimpleObject:*:*; \
-   self-install_role = *:FixtureScriptsDefault:*:* ; \
-   admin_role = *
-
-# to use ldap...
-# (see docs for details of how to setup users/groups in Apache Directory Studio).
-#securityManager.realms = $ldapRealm
-
-# to use .ini file
-securityManager.realms = $iniRealm
-
-
-
-# -----------------------------------------------------------------------------
-# Users and their assigned roles
-#
-# Each line conforms to the format defined in the
-# org.apache.shiro.realm.text.TextConfigurationRealm#setUserDefinitions JavaDoc
-# -----------------------------------------------------------------------------
-
-[users]
-# user = password, role1, role2, role3, ...
-
-
-sven = pass, admin_role
-dick = pass, user_role, self-install_role
-bob  = pass, user_role, self-install_role
-joe  = pass, user_role, self-install_role
-guest = guest, user_role
-
-
-
-# -----------------------------------------------------------------------------
-# Roles with assigned permissions
-# 
-# Each line conforms to the format defined in the
-# org.apache.shiro.realm.text.TextConfigurationRealm#setRoleDefinitions JavaDoc
-# -----------------------------------------------------------------------------
-
-[roles]
-# role = perm1, perm2, perm3, ...
-# perm in format: packageName:className:memberName:r,w
-
-user_role =   *:SimpleObjectMenu:*:*,\
-              *:SimpleObject:*:*
-self-install_role = *:FixtureScriptsDefault:*:*
-admin_role = *
diff --git a/starters/simpleapp/webapp/src/main/resources/static/css/application.css b/starters/simpleapp/webapp/src/main/resources/static/css/application.css
deleted file mode 100644
index 9f1612a..0000000
--- a/starters/simpleapp/webapp/src/main/resources/static/css/application.css
+++ /dev/null
@@ -1,19 +0,0 @@
-/*
- *  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.
- */
-
diff --git a/starters/simpleapp/webapp/src/main/resources/static/images/apache-isis/logo-48x48.png b/starters/simpleapp/webapp/src/main/resources/static/images/apache-isis/logo-48x48.png
deleted file mode 100644
index 08e012c..0000000
Binary files a/starters/simpleapp/webapp/src/main/resources/static/images/apache-isis/logo-48x48.png and /dev/null differ
diff --git a/starters/simpleapp/webapp/src/main/resources/static/images/apache-isis/logo.png b/starters/simpleapp/webapp/src/main/resources/static/images/apache-isis/logo.png
deleted file mode 100644
index 5284fe7..0000000
Binary files a/starters/simpleapp/webapp/src/main/resources/static/images/apache-isis/logo.png and /dev/null differ
diff --git a/starters/simpleapp/webapp/src/main/resources/static/images/favicon.png b/starters/simpleapp/webapp/src/main/resources/static/images/favicon.png
deleted file mode 100644
index 2586589..0000000
Binary files a/starters/simpleapp/webapp/src/main/resources/static/images/favicon.png and /dev/null differ
diff --git a/starters/simpleapp/webapp/src/main/resources/static/index.html b/starters/simpleapp/webapp/src/main/resources/static/index.html
deleted file mode 100644
index e25c772..0000000
--- a/starters/simpleapp/webapp/src/main/resources/static/index.html
+++ /dev/null
@@ -1,117 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--
-  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.
--->
-<html>
-    <head>
-        <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-        <title>Apache Isis&trade; SimpleApp</title>
-        
-        <style type="text/css">
-body {
-    background-color: #1A467B;
-    font-family: Verdana, Helvetica, Arial, serif;
-    font-size: 90%;
-}
-
-li {
-    margin-top: 6px;
-    margin-bottom: 6px;
-}
-table {
-    border-collapse: collapse;
-}
-table, th, td {
-    border: 1px;
-    border-style: solid;
-    border-color: lightgray;
-}
-th, td {
-    padding: 10px;
-}
-#wrapper {
-    background-color: #ffffff;
-    width: 900px;
-    margin: 8px auto;
-    padding: 12px;
-}
-        </style>
-    </head>
-    <body>
-        <div id="wrapper">
-            <img alt="Isis Logo" src="images/apache-isis/logo.png" />
-             
-            <p>
-                This app has been generated using Apache Isis'
-                <a href="http://isis.apache.org/arch/simlpe%61pp/about.html" target="_blank">SimpleApp</a> archetype,
-                to create a purposefully minimal application that nevertheless includes fixture data, integration tests and BDD specs.
-                <br/>
-                <br/>
-                The application's business logic resides in a single (maven) module, <a href="https://github.com/apache/isis/tree/master/example/application/simple%61pp/module-simple"  target="_blank">module-simple</a>, that in turn contains a single domain entity, <a href="https://github.com/apache/isis/blob/master/example/application/simple%61pp/module-simple/src/main/java/domainapp/modules/simple/dom/impl/SimpleObject.java"  target="_blank">SimpleObject</a>.  The module has its own <a [...]
-                <br/>
-                <br/>
-                The app also defines the <a href="https://github.com/apache/isis/tree/master/example/application/simple%61pp/application"  target="_blank">application</a> (maven) module; this holds <a href="https://github.com/apache/isis/tree/master/example/application/simple%61pp/application/src/main/java/domainapp/application/fixture"  target="_blank">fixtures</a>, <a href="https://github.com/apache/isis/blob/master/example/application/simple%61pp/application/src/test/java/domainapp/ap [...]
-                <br/>
-                <br/>
-                The app's <a href="https://github.com/apache/isis/tree/master/example/application/simple%61pp/webapp"  target="_blank">webapp</a> (maven) module is used to assemble the application into a WAR file.
-            </p>
-
-            <p>To access the app:</p>
-            <ul>
-                <li>
-                    <p>
-                        <b><a href="wicket/">wicket/</a></b>
-                    </p>
-                    <p>
-                        provides access to a generic UI for end-users,
-                        Apache Isis' <a href="http://isis.apache.org/guides/ugvw/ugvw.html" target="_blank">Wicket Viewer</a>.
-                        As its name suggests, this viewer is built on top of <a href="http://wicket.apache.org" target="_blank">Apache Wicket</a>&trade;.
-                    </p>
-                </li>
-                <li>
-                    <p>
-                        <b>
-                            <a href="swagger-ui/index.template.html">swagger-ui/</a>
-                        </b>
-                    </p>
-                    <p>
-                        provides access to a Swagger UI which uses a subset of the framework's automatically
-                        generated <a href="restful/">RESTful API</a> (provided by the 
-                        <a href="http://isis.apache.org/guides/ugvro/ugvro.html"  target="_blank">Restful Objects viewer</a>).  There are 
-                        three versions of the Swagger spec files (that drive the UI): 
-                        <a href="restful/swagger/public">public</a> (for use by "third-party" apps), 
-                        <a href="restful/swagger/private">private</a> (for use by internal apps), and 
-                        <a href="restful/swagger/prototyping">prototyping</a> (an extended version of the private
-                        API).  The Swagger spec files are themselves dynamically generated and can be used to generate
-                        client-side stubs.
-                    </p>
-                    <p>The RESTful API can return both simple representations and also richer hypermedia representations
-                        that are conformant with the <a href="http://restfulobjects.org"  target="_blank">Restful Objects</a> spec.
-                        The HTTP <code>Accept</code> header is used to select which representation should be generated.
-                    </p>
-                </li>
-            </ul>
-
-            <p>
-            The default user/password is <b><i>sven/pass</i></b> (as configured in the
-            <a href="https://github.com/apache/isis/blob/master/example/application/simple%61pp/webapp/src/main/webapp/WEB-INF/shiro.ini" target="_blank">shiro.ini</a> file).
-            </p>
-            
-        </div>
-    </body>
-</html>
diff --git a/starters/simpleapp/webapp/src/main/resources/static/scripts/application.js b/starters/simpleapp/webapp/src/main/resources/static/scripts/application.js
deleted file mode 100644
index d8cf6fe..0000000
--- a/starters/simpleapp/webapp/src/main/resources/static/scripts/application.js
+++ /dev/null
@@ -1,3 +0,0 @@
-$(document).ready(function() {
-	/// here...
-});
\ No newline at end of file
diff --git a/starters/simpleapp/webapp/src/main/webapp/WEB-INF/translations-en.po b/starters/simpleapp/webapp/src/main/webapp/WEB-INF/translations-en.po
deleted file mode 100644
index 4e59ee2..0000000
--- a/starters/simpleapp/webapp/src/main/webapp/WEB-INF/translations-en.po
+++ /dev/null
@@ -1,674 +0,0 @@
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: \n"
-"POT-Creation-Date: 2016-06-16 15:34:40+\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=n != 1;\n"
-
-
-#: org.apache.isis.applib.services.metamodel.MetaModelServicesMenu#downloadMetaModel(java.lang.String)
-msgid ".csv file name"
-msgstr ""
-
-
-#: org.apache.isis.core.metamodel.services.jdosupport.Persistable_downloadJdoMetadata#$$(java.lang.String)
-msgid ".jdo file name"
-msgstr ""
-
-
-#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu#downloadTranslations(java.lang.String)
-msgid ".pot file name"
-msgstr ""
-
-
-#: org.apache.isis.applib.services.appfeat.ApplicationMemberType#ACTION
-msgid "Action"
-msgstr ""
-
-
-#: org.apache.isis.core.runtime.system.session.IsisSessionFactoryBuilder
-msgid "Are you sure?"
-msgstr ""
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage
-msgid "AutoLabel.CSS.required"
-msgstr ""
-
-
-#: org.apache.isis.core.runtime.system.session.IsisSessionFactoryBuilder
-msgid "Cancel"
-msgstr ""
-
-
-#: domainapp.app.services.homepage.HomePageViewModel#clearHints()
-#: domainapp.dom.simple.SimpleObject#clearHints()
-msgid "Clear Hints"
-msgstr ""
-
-
-#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu#resetTranslationCache()
-msgid "Clear translation cache"
-msgstr ""
-
-
-#: org.apache.isis.applib.services.appfeat.ApplicationMemberType#COLLECTION
-msgid "Collection"
-msgstr ""
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.entity.EntityPage
-msgid "CollectionContentsAsAjaxTablePanelFactory.Table"
-msgstr "Table"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.entity.EntityPage
-msgid "CollectionContentsAsUnresolvedPanel.Hide"
-msgstr "Hide"
-
-
-#: org.apache.isis.applib.services.layout.LayoutService$Style#COMPLETE
-msgid "Complete"
-msgstr ""
-
-
-#: org.apache.isis.applib.services.config.ConfigurationServiceMenu#configuration()
-msgid "Configuration"
-msgstr ""
-
-
-#: org.apache.isis.core.runtime.system.session.IsisSessionFactoryBuilder
-msgid "Confirm"
-msgstr ""
-
-
-#: domainapp.dom.simple.SimpleObjects#create()
-msgid "Create"
-msgstr ""
-
-
-#: org.apache.isis.applib.services.layout.LayoutService$Style#CURRENT
-msgid "Current"
-msgstr ""
-
-
-#: domainapp.dom.simple.SimpleObject#delete()
-msgid "Delete"
-msgstr ""
-
-
-#: domainapp.dom.simple.SimpleObject#downloadJdoMetadata()
-msgid "Download Jdo Metadata"
-msgstr ""
-
-
-#: domainapp.app.services.homepage.HomePageViewModel#downloadLayoutXml()
-#: domainapp.dom.simple.SimpleObject#downloadLayoutXml()
-msgid "Download Layout Xml"
-msgstr ""
-
-
-#: org.apache.isis.applib.services.layout.LayoutServiceMenu#downloadLayouts()
-msgid "Download Layouts (XML)"
-msgstr ""
-
-
-#: org.apache.isis.applib.services.metamodel.MetaModelServicesMenu#downloadMetaModel()
-msgid "Download Meta Model (CSV)"
-msgstr ""
-
-
-#: org.apache.isis.applib.services.swagger.SwaggerServiceMenu#downloadSwaggerSpec()
-msgid "Download Swagger Spec"
-msgstr ""
-
-
-#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu#downloadTranslations()
-msgid "Download Translations"
-msgstr ""
-
-
-#: org.apache.isis.applib.services.dto.Dto_downloadXml#$$(java.lang.String)
-#: org.apache.isis.applib.services.dto.Dto_downloadXsd#$$(java.lang.String,org.apache.isis.applib.services.jaxb.JaxbService$IsisSchemas)
-#: org.apache.isis.applib.services.layout.Object_downloadLayoutXml#$$(java.lang.String,org.apache.isis.applib.services.layout.LayoutService$Style)
-msgid "File name"
-msgstr ""
-
-
-#: domainapp.dom.simple.SimpleObject#updateName()
-msgid "Exclamation mark is not allowed"
-msgstr ""
-
-
-#: org.apache.isis.applib.services.swagger.SwaggerServiceMenu#downloadSwaggerSpec(java.lang.String,org.apache.isis.applib.services.swagger.SwaggerService$Visibility,org.apache.isis.applib.services.swagger.SwaggerService$Format)
-msgid "Filename"
-msgstr ""
-
-
-#: domainapp.dom.simple.SimpleObjects#findByName()
-msgid "Find By Name"
-msgstr ""
-
-
-#: org.apache.isis.applib.fixturescripts.FixtureResult#fixtureScriptClassName
-msgid "Fixture script"
-msgstr ""
-
-
-#: domainapp.fixture.scenarios.RecreateSimpleObjects#friendlyName
-#: org.apache.isis.applib.fixturescripts.FixtureScript#friendlyName
-msgid "Friendly Name"
-msgstr ""
-
-
-#: domainapp.dom.simple.SimpleObject
-msgid "General"
-msgstr ""
-
-
-#: domainapp.app.services.homepage.HomePageService#homePage()
-msgid "Home Page"
-msgstr ""
-
-
-#: domainapp.dom.simple.SimpleObject#datanucleusIdLong()
-#: org.apache.isis.core.metamodel.services.jdosupport.Persistable_datanucleusIdLong#$$()
-msgid "Id"
-msgstr ""
-
-
-#: org.apache.isis.applib.annotation.SemanticsOf#IDEMPOTENT
-msgid "Idempotent"
-msgstr ""
-
-
-#: org.apache.isis.applib.annotation.SemanticsOf#IDEMPOTENT_ARE_YOU_SURE
-msgid "Idempotent Are You Sure"
-msgstr "Are you sure?"
-
-
-#: org.apache.isis.applib.services.jaxb.JaxbService$IsisSchemas#IGNORE
-msgid "Ignore"
-msgstr ""
-
-
-#: org.apache.isis.applib.services.jaxb.JaxbService$IsisSchemas#INCLUDE
-msgid "Include"
-msgstr ""
-
-
-#: org.apache.isis.applib.services.swagger.SwaggerService$Format#JSON
-msgid "Json"
-msgstr "JSON"
-
-
-#: org.apache.isis.applib.services.config.ConfigurationProperty#key
-msgid "Key"
-msgstr ""
-
-
-#: domainapp.dom.simple.SimpleObjects#listAll()
-msgid "List All"
-msgstr ""
-
-
-#: org.apache.isis.applib.services.bookmark.BookmarkHolderActionContributions#lookup()
-msgid "Lookup"
-msgstr ""
-
-
-#: domainapp.dom.simple.SimpleObject
-#: org.apache.isis.applib.services.layout.Object_downloadLayoutXml
-#: org.apache.isis.applib.services.layout.Object_rebuildMetamodel
-#: org.apache.isis.core.metamodel.services.jdosupport.Persistable_datanucleusIdLong
-#: org.apache.isis.core.metamodel.services.jdosupport.Persistable_datanucleusVersionLong
-#: org.apache.isis.core.metamodel.services.jdosupport.Persistable_datanucleusVersionTimestamp
-#: org.apache.isis.core.metamodel.services.jdosupport.Persistable_downloadJdoMetadata
-#: org.apache.isis.viewer.wicket.viewer.services.Object_clearHints
-msgid "Metadata"
-msgstr ""
-
-
-#: org.apache.isis.applib.services.layout.LayoutService$Style#MINIMAL
-msgid "Minimal"
-msgstr ""
-
-
-#: domainapp.dom.simple.SimpleObject
-#: domainapp.dom.simple.SimpleObject#name
-#: domainapp.dom.simple.SimpleObject#updateName(java.lang.String)
-#: domainapp.dom.simple.SimpleObjects#create(java.lang.String)
-#: domainapp.dom.simple.SimpleObjects#findByName(java.lang.String)
-msgid "Name"
-msgstr ""
-
-
-#: org.apache.isis.core.metamodel.services.appfeat.ApplicationFeatureFactory#newApplicationFeature()
-msgid "New Application Feature"
-msgstr ""
-
-
-#: org.apache.isis.applib.annotation.SemanticsOf#NON_IDEMPOTENT
-msgid "Non Idempotent"
-msgstr ""
-
-
-#: org.apache.isis.applib.annotation.SemanticsOf#NON_IDEMPOTENT_ARE_YOU_SURE
-msgid "Non Idempotent Are You Sure"
-msgstr ""
-
-
-#: org.apache.isis.applib.services.layout.LayoutService$Style#NORMALIZED
-msgid "Normalized"
-msgstr ""
-
-
-#: domainapp.fixture.scenarios.RecreateSimpleObjects#number
-msgid "Number"
-msgstr ""
-
-
-#: org.apache.isis.applib.services.bookmark.BookmarkHolderAssociationContributions#object()
-msgid "Object"
-msgstr ""
-
-
-#: domainapp.dom.simple.SimpleObject#title()
-msgid "Object: {name}"
-msgstr ""
-
-
-#: domainapp.app.services.homepage.HomePageViewModel#objects
-msgid "Objects"
-msgstr ""
-
-
-#: org.apache.isis.applib.fixturescripts.FixtureScripts#runFixtureScript(org.apache.isis.applib.fixturescripts.FixtureScript,java.lang.String)
-#: org.apache.isis.applib.services.fixturespec.FixtureScriptsDefault#runFixtureScript(org.apache.isis.applib.fixturescripts.FixtureScript,java.lang.String)
-#: org.apache.isis.applib.services.fixturespec.FixtureScriptsDefault#runFixtureScriptWithAutoComplete(org.apache.isis.applib.fixturescripts.FixtureScript,java.lang.String)
-msgid "Parameters"
-msgstr ""
-
-
-#: org.apache.isis.applib.services.swagger.SwaggerService$Visibility#PRIVATE
-msgid "Private"
-msgstr ""
-
-
-#: org.apache.isis.applib.services.swagger.SwaggerService$Visibility#PRIVATE_WITH_PROTOTYPING
-msgid "Private With Prototyping"
-msgstr ""
-
-
-#: org.apache.isis.applib.services.appfeat.ApplicationMemberType#PROPERTY
-msgid "Property"
-msgstr ""
-
-
-#: org.apache.isis.applib.services.fixturespec.FixtureScriptsDefault
-#: org.apache.isis.applib.services.layout.LayoutServiceMenu
-#: org.apache.isis.applib.services.metamodel.MetaModelServicesMenu
-#: org.apache.isis.applib.services.swagger.SwaggerServiceMenu
-#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu
-msgid "Prototyping"
-msgstr ""
-
-
-#: org.apache.isis.applib.services.swagger.SwaggerService$Visibility#PUBLIC
-msgid "Public"
-msgstr ""
-
-
-#: domainapp.app.services.homepage.HomePageViewModel#rebuildMetamodel()
-#: domainapp.dom.simple.SimpleObject#rebuildMetamodel()
-msgid "Rebuild Metamodel"
-msgstr ""
-
-
-#: org.apache.isis.applib.services.fixturespec.FixtureScriptsDefault#recreateObjectsAndReturnFirst()
-msgid "Recreate Objects And Return First"
-msgstr ""
-
-
-#: org.apache.isis.applib.fixturescripts.FixtureResult#object
-msgid "Result"
-msgstr ""
-
-
-#: org.apache.isis.applib.fixturescripts.FixtureResult#className
-msgid "Result class"
-msgstr ""
-
-
-#: org.apache.isis.applib.fixturescripts.FixtureResult#key
-msgid "Result key"
-msgstr ""
-
-
-#: org.apache.isis.applib.fixturescripts.FixtureScripts#runFixtureScript()
-#: org.apache.isis.applib.services.fixturespec.FixtureScriptsDefault#runFixtureScript()
-#: org.apache.isis.applib.services.fixturespec.FixtureScriptsDefault#runFixtureScriptWithAutoComplete()
-msgid "Run Fixture Script"
-msgstr ""
-
-
-#: org.apache.isis.applib.annotation.SemanticsOf#SAFE
-msgid "Safe"
-msgstr ""
-
-
-#: org.apache.isis.applib.annotation.SemanticsOf#SAFE_AND_REQUEST_CACHEABLE
-msgid "Safe And Request Cacheable"
-msgstr ""
-
-
-#: domainapp.fixture.scenarios.RecreateSimpleObjects
-#: org.apache.isis.applib.fixturescripts.FixtureScript
-msgid "Script"
-msgstr ""
-
-
-#: org.apache.isis.applib.fixturescripts.FixtureScripts#runFixtureScript(org.apache.isis.applib.fixturescripts.FixtureScript,java.lang.String)
-#: org.apache.isis.applib.services.fixturespec.FixtureScriptsDefault#runFixtureScript(org.apache.isis.applib.fixturescripts.FixtureScript,java.lang.String)
-#: org.apache.isis.applib.services.fixturespec.FixtureScriptsDefault#runFixtureScriptWithAutoComplete(org.apache.isis.applib.fixturescripts.FixtureScript,java.lang.String)
-msgid "Script-specific parameters (if any).  The format depends on the script implementation (eg key=value, CSV, JSON, XML etc)"
-msgstr ""
-
-
-#: domainapp.dom.simple.SimpleObjects#title()
-msgid "Simple Objects"
-msgstr ""
-
-
-#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu#switchToReadingTranslations()
-msgid "Switch To Reading Translations"
-msgstr ""
-
-
-#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu#switchToWritingTranslations()
-msgid "Switch To Writing Translations"
-msgstr ""
-
-
-#: domainapp.dom.simple.SimpleObject#updateName()
-msgid "Update Name"
-msgstr ""
-
-
-#: org.apache.isis.applib.services.config.ConfigurationProperty#value
-msgid "Value"
-msgstr ""
-
-
-#: domainapp.dom.simple.SimpleObject#datanucleusVersionLong()
-#: domainapp.dom.simple.SimpleObject#datanucleusVersionTimestamp()
-#: org.apache.isis.core.metamodel.services.jdosupport.Persistable_datanucleusVersionLong#$$()
-#: org.apache.isis.core.metamodel.services.jdosupport.Persistable_datanucleusVersionTimestamp#$$()
-msgid "Version"
-msgstr ""
-
-
-#: org.apache.isis.applib.services.swagger.SwaggerService$Format#YAML
-msgid "Yaml"
-msgstr "YAML"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.entity.EntityPage
-msgid "aboutLabel"
-msgstr "About"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.entity.EntityPage
-msgid "cancelLabel"
-msgstr "Cancel"
-
-
-#: domainapp.dom.simple.SimpleObject
-msgid "datanucleusIdLong"
-msgstr "Id"
-
-
-#: org.wicketstuff.select2.Select2Choice
-msgid "inputTooShortPlural"
-msgstr "Please enter {number} more characters"
-
-
-#: org.wicketstuff.select2.Select2Choice
-msgid "inputTooShortSingular"
-msgstr "Please enter 1 more character"
-
-
-#: org.wicketstuff.select2.Select2Choice
-msgid "loadMore"
-msgstr "Load more"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage
-msgid "loginHeader"
-msgstr "Login"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.entity.EntityPage
-msgid "logoutLabel"
-msgstr "Logout"
-
-
-#: domainapp.dom.simple.SimpleObject
-msgid "name"
-msgstr ""
-
-
-#: org.wicketstuff.select2.Select2Choice
-msgid "noMatches"
-msgstr "No matches"
-
-
-#: domainapp.app.services.homepage.HomePageViewModel
-msgid "objects"
-msgstr "Objects"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.entity.EntityPage
-msgid "okLabel"
-msgstr "OK"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage
-msgid "passwordLabel"
-msgstr "Password"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage
-msgid "rememberMeLabel"
-msgstr "Remember Me"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage
-msgid "resetButtonLabel"
-msgstr "Reset"
-
-
-#: org.wicketstuff.select2.Select2Choice
-msgid "searching"
-msgstr "Searching..."
-
-
-#: org.wicketstuff.select2.Select2Choice
-msgid "selectionTooBigPlural"
-msgstr "You can only select {limit} items"
-
-
-#: org.wicketstuff.select2.Select2Choice
-msgid "selectionTooBigSingular"
-msgstr "You can only select 1 item"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage
-msgid "signInButtonLabel"
-msgstr "Sign in"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage
-msgid "usernameLabel"
-msgstr "Username"
-
-
-#: domainapp.app.services.homepage.HomePageViewModel#title()
-msgid "{num} objects"
-msgstr ""
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.signup.RegistrationFormPage
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.register.RegisterPage
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
-msgid "confirmPasswordLabel"
-msgstr "Confirm password"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.entity.EntityPage
-msgid "datatable.no-records-found"
-msgstr "No Records Found"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.entity.EntityPage
-msgid "editLabel"
-msgstr "Edit"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.signup.RegistrationFormPage
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.register.RegisterPage
-msgid "emailIsNotAvailable"
-msgstr "The given email is already in use"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
-msgid "emailPlaceholder"
-msgstr "Enter your email"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.signup.RegistrationFormPage
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.register.RegisterPage
-msgid "emailPlaceholder"
-msgstr "Enter an email for the new account"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.signup.RegistrationFormPage
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.register.RegisterPage
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
-msgid "emailLabel"
-msgstr "Email"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.signup.RegistrationFormPage
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.register.RegisterPage
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
-msgid "emailSentMessage"
-msgstr "An email has been sent to '${email}' for verification."
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage
-msgid "forgotPasswordLinkLabel"
-msgstr "Forgot your password?"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
-msgid "passwordChangeSuccessful"
-msgstr "The password has been changed successfully. You can <a class=\"alert-success\" style=\"text-decoration:underline;\" href=\"${signInUrl}\">login</a> now."
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
-msgid "passwordChangeUnsuccessful"
-msgstr "There was a problem while updating the password. Please try again."
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.signup.RegistrationFormPage
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.register.RegisterPage
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
-msgid "passwordLabel"
-msgstr "Password"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.signup.RegistrationFormPage
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.register.RegisterPage
-#: org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
-msgid "passwordPlaceholder"
-msgstr "Enter password"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
-msgid "passwordResetExpiredOrInvalidToken"
-msgstr "You are trying to reset the password for an expired or invalid token"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
-msgid "passwordResetHeader"
-msgstr "Forgot password"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
-msgid "passwordResetSubmitLabel"
-msgstr "Submit"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage
-msgid "registerButtonLabel"
-msgstr "Register"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.register.RegisterPage
-msgid "registerHeader"
-msgstr "Register"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
-msgid "noSuchUserByEmail"
-msgstr "There is no account with this email"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
-msgid "noUserForAnEmailValidToken"
-msgstr "The account seems to be either already deleted or has changed its email address. Please try again."
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage
-msgid "signUpButtonLabel"
-msgstr "Don't have an account? Sign up now."
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.signup.RegistrationFormPage
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.register.RegisterPage
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
-msgid "signUpButtonLabel"
-msgstr "Verify email"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.signup.RegistrationFormPage
-msgid "signUpHeader"
-msgstr "Sign Up"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.signup.RegistrationFormPage
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.register.RegisterPage
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
-msgid "usernameIsNotAvailable"
-msgstr "The provided username is already in use"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.signup.RegistrationFormPage
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.register.RegisterPage
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
-msgid "usernameLabel"
-msgstr "Username"
-
... 2882 lines suppressed ...