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 2012/12/05 09:07:33 UTC

[1/11] git commit: ISIS-188: more refactoring of artifacts

Updated Branches:
  refs/heads/master b62d73922 -> 6de874439


ISIS-188: more refactoring of artifacts

* have deleted and removed the (empty) modules (core:common, core:progmodel, core:runtime, progmodels:dflt, bytecode:identity, runtimes.dflt:webapp)
* fixed up pom's where they were invalid.


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

Branch: refs/heads/master
Commit: 6de8744395c079610e195213748a9d5604a8b32a
Parents: b62d739
Author: Dan Haywood <da...@apache.org>
Authored: Wed Dec 5 08:06:59 2012 +0000
Committer: Dan Haywood <da...@apache.org>
Committed: Wed Dec 5 08:06:59 2012 +0000

----------------------------------------------------------------------
 examples/claims/pom.xml                            |   31 +-
 examples/claims/viewer-bdd/pom.xml                 |    6 +-
 examples/claims/viewer-dnd/pom.xml                 |   10 +-
 examples/claims/viewer-html/pom.xml                |    8 +-
 examples/claims/viewer-scimpi/pom.xml              |    8 +-
 examples/claims/viewer-wicket/pom.xml              |    8 +-
 examples/onlinedemo/pom.xml                        |   31 +-
 examples/onlinedemo/webapp/pom.xml                 |    7 +-
 examples/quickstart/pom.xml                        |   31 +-
 examples/quickstart/viewer-dnd/pom.xml             |    6 +-
 examples/quickstart/viewer-html/pom.xml            |    8 +-
 examples/quickstart/viewer-scimpi/pom.xml          |    8 +-
 examples/quickstart_dnd_junit_bdd/pom.xml          |   31 +-
 .../quickstart_dnd_junit_bdd/tests-bdd/pom.xml     |    6 +-
 .../quickstart_dnd_junit_bdd/tests-junit/pom.xml   |    6 +-
 .../quickstart_dnd_junit_bdd/viewer-dnd/pom.xml    |    7 +-
 examples/quickstart_wicket_restful_jdo/pom.xml     |   31 +-
 .../viewer-restfulobjects/pom.xml                  |    8 +-
 .../viewer-wicket/pom.xml                          |    8 +-
 framework/core/commons/NOTICE                      |    7 -
 framework/core/commons/pom.xml                     |   63 --
 framework/core/commons/src/site/apt/index.apt      |   26 -
 framework/core/commons/src/site/apt/jottings.apt   |   24 -
 framework/core/commons/src/site/site.xml           |   43 -
 framework/core/metamodel/pom.xml                   |   20 +-
 .../apache/isis/core/runtime/about/AboutIsis.java  |  141 +++
 .../isis/core/runtime/about/ComponentDetails.java  |   32 +
 .../authentication/AuthenticationManager.java      |   45 +
 .../AuthenticationManagerInstaller.java            |   30 +
 .../authentication/AuthenticationRequest.java      |   32 +
 .../AuthenticationRequestAbstract.java             |   52 +
 .../AuthenticationRequestPassword.java             |   35 +
 .../authentication/RegistrationDetails.java        |   23 +
 .../standard/AuthenticationManagerStandard.java    |  279 +++++
 ...enticationManagerStandardInstallerAbstract.java |   60 ++
 .../authentication/standard/Authenticator.java     |   52 +
 .../standard/AuthenticatorAbstract.java            |   76 ++
 .../standard/AuthenticatorFuncs.java               |   40 +
 .../standard/NoAuthenticatorException.java         |   46 +
 .../PasswordRequestAuthenticatorAbstract.java      |   37 +
 .../standard/RandomCodeGenerator.java              |   26 +
 .../standard/RandomCodeGenerator10Chars.java       |   37 +
 .../standard/RandomCodeGeneratorUUID.java          |   40 +
 .../runtime/authentication/standard/Registrar.java |   55 +
 .../standard/RegistrationDetailsPassword.java      |   42 +
 .../authentication/standard/SimpleSession.java     |   97 ++
 .../authorization/AuthorizationManager.java        |   47 +
 .../AuthorizationManagerAbstract.java              |   41 +
 .../AuthorizationManagerInstaller.java             |   30 +
 .../core/runtime/authorization/package-info.java   |   33 +
 .../standard/AuthorizationConstants.java           |   34 +
 .../authorization/standard/AuthorizationFacet.java |   32 +
 .../standard/AuthorizationFacetAbstract.java       |   54 +
 .../standard/AuthorizationFacetFactory.java        |   60 ++
 .../standard/AuthorizationFacetImpl.java           |   31 +
 .../standard/AuthorizationManagerStandard.java     |  168 +++
 ...horizationManagerStandardInstallerAbstract.java |   55 +
 .../runtime/authorization/standard/Authorizor.java |   41 +
 .../authorization/standard/AuthorizorAbstract.java |   47 +
 .../core/runtime/imageloader/TemplateImage.java    |   34 +
 .../runtime/imageloader/TemplateImageImpl.java     |  104 ++
 .../runtime/imageloader/TemplateImageLoader.java   |   30 +
 .../imageloader/TemplateImageLoaderInstaller.java  |   29 +
 .../imageloader/TemplateImageLoaderProvider.java   |   26 +
 .../runtime/imageloader/awt/ImageConstants.java    |   27 +
 .../imageloader/awt/TemplateImageLoaderAwt.java    |  326 ++++++
 .../awt/TemplateImageLoaderAwtInstaller.java       |   43 +
 .../core/runtime/imageloader/package-info.java     |   26 +
 .../core/runtime/logging/FileSnapshotAppender.java |   85 ++
 .../runtime/logging/IsisLoggingConfigurer.java     |  134 +++
 .../apache/isis/core/runtime/logging/Logger.java   |   59 +
 .../core/runtime/logging/LoggingConstants.java     |   33 +
 .../runtime/logging/PopupSnapshotAppender.java     |  105 ++
 .../core/runtime/logging/SmtpExtendedAppender.java |   66 ++
 .../core/runtime/logging/SmtpSnapshotAppender.java |  122 +++
 .../core/runtime/logging/SnapshotAppender.java     |  183 ++++
 .../isis/core/runtime/logging/SnapshotServer.java  |  105 ++
 .../isis/core/runtime/logging/SnapshotWriter.java  |   63 ++
 .../runtime/logging/SocketSnapshotAppender.java    |   77 ++
 .../core/runtime/logging/WebSnapshotAppender.java  |  133 +++
 .../core/runtime/optionhandler/BootPrinter.java    |   57 +
 .../core/runtime/optionhandler/OptionHandler.java  |   32 +
 .../optionhandler/OptionHandlerAbstract.java       |   57 +
 .../isis/core/runtime/profiler/Profiler.java       |  150 +++
 .../isis/core/runtime/profiler/ProfilerSystem.java |   30 +
 .../isis/core/runtime/snapshot/DomSerializer.java  |   33 +
 .../core/runtime/snapshot/DomSerializerJaxp.java   |   71 ++
 .../apache/isis/core/runtime/snapshot/Helper.java  |   91 ++
 .../isis/core/runtime/snapshot/IsisSchema.java     |  182 ++++
 .../apache/isis/core/runtime/snapshot/Place.java   |   65 ++
 .../isis/core/runtime/snapshot/XmlSchema.java      |  623 +++++++++++
 .../isis/core/runtime/snapshot/XmlSnapshot.java    |  823 +++++++++++++++
 .../isis/core/runtime/snapshot/XsMetaModel.java    |  337 ++++++
 .../isis/core/runtime/sysout/SystemPrinter.java    |  148 +++
 .../isis/core/runtime/userprofile/Options.java     |  113 ++
 .../core/runtime/userprofile/OptionsClient.java    |   27 +
 .../core/runtime/userprofile/PerspectiveEntry.java |  115 ++
 .../core/runtime/userprofile/UserLocalization.java |   46 +
 .../isis/core/runtime/userprofile/UserProfile.java |  168 +++
 .../runtime/userprofile/UserProfileLoader.java     |   78 ++
 .../core/runtime/userprofile/UserProfileStore.java |   30 +
 framework/core/pom.xml                             |   56 -
 framework/core/progmodel/NOTICE                    |    7 -
 framework/core/progmodel/pom.xml                   |   61 --
 framework/core/progmodel/src/site/apt/index.apt    |   27 -
 framework/core/progmodel/src/site/apt/jottings.apt |   24 -
 framework/core/progmodel/src/site/site.xml         |   43 -
 .../apache/isis/core/runtime/about/AboutIsis.java  |  141 ---
 .../isis/core/runtime/about/ComponentDetails.java  |   32 -
 .../authentication/AuthenticationManager.java      |   45 -
 .../AuthenticationManagerInstaller.java            |   30 -
 .../authentication/AuthenticationRequest.java      |   32 -
 .../AuthenticationRequestAbstract.java             |   52 -
 .../AuthenticationRequestPassword.java             |   35 -
 .../authentication/RegistrationDetails.java        |   23 -
 .../standard/AuthenticationManagerStandard.java    |  279 -----
 ...enticationManagerStandardInstallerAbstract.java |   60 --
 .../authentication/standard/Authenticator.java     |   52 -
 .../standard/AuthenticatorAbstract.java            |   76 --
 .../standard/AuthenticatorFuncs.java               |   40 -
 .../standard/NoAuthenticatorException.java         |   46 -
 .../PasswordRequestAuthenticatorAbstract.java      |   37 -
 .../standard/RandomCodeGenerator.java              |   26 -
 .../standard/RandomCodeGenerator10Chars.java       |   37 -
 .../standard/RandomCodeGeneratorUUID.java          |   40 -
 .../runtime/authentication/standard/Registrar.java |   55 -
 .../standard/RegistrationDetailsPassword.java      |   42 -
 .../authentication/standard/SimpleSession.java     |   97 --
 .../authorization/AuthorizationManager.java        |   47 -
 .../AuthorizationManagerAbstract.java              |   41 -
 .../AuthorizationManagerInstaller.java             |   30 -
 .../core/runtime/authorization/package-info.java   |   33 -
 .../standard/AuthorizationConstants.java           |   34 -
 .../authorization/standard/AuthorizationFacet.java |   32 -
 .../standard/AuthorizationFacetAbstract.java       |   54 -
 .../standard/AuthorizationFacetFactory.java        |   60 --
 .../standard/AuthorizationFacetImpl.java           |   31 -
 .../standard/AuthorizationManagerStandard.java     |  168 ---
 ...horizationManagerStandardInstallerAbstract.java |   55 -
 .../runtime/authorization/standard/Authorizor.java |   41 -
 .../authorization/standard/AuthorizorAbstract.java |   47 -
 .../core/runtime/imageloader/TemplateImage.java    |   34 -
 .../runtime/imageloader/TemplateImageImpl.java     |  104 --
 .../runtime/imageloader/TemplateImageLoader.java   |   30 -
 .../imageloader/TemplateImageLoaderInstaller.java  |   29 -
 .../imageloader/TemplateImageLoaderProvider.java   |   26 -
 .../runtime/imageloader/awt/ImageConstants.java    |   27 -
 .../imageloader/awt/TemplateImageLoaderAwt.java    |  326 ------
 .../awt/TemplateImageLoaderAwtInstaller.java       |   43 -
 .../core/runtime/imageloader/package-info.java     |   26 -
 .../core/runtime/logging/FileSnapshotAppender.java |   85 --
 .../runtime/logging/IsisLoggingConfigurer.java     |  134 ---
 .../apache/isis/core/runtime/logging/Logger.java   |   59 -
 .../core/runtime/logging/LoggingConstants.java     |   33 -
 .../runtime/logging/PopupSnapshotAppender.java     |  105 --
 .../core/runtime/logging/SmtpExtendedAppender.java |   66 --
 .../core/runtime/logging/SmtpSnapshotAppender.java |  122 ---
 .../core/runtime/logging/SnapshotAppender.java     |  183 ----
 .../isis/core/runtime/logging/SnapshotServer.java  |  105 --
 .../isis/core/runtime/logging/SnapshotWriter.java  |   63 --
 .../runtime/logging/SocketSnapshotAppender.java    |   77 --
 .../core/runtime/logging/WebSnapshotAppender.java  |  133 ---
 .../core/runtime/optionhandler/BootPrinter.java    |   57 -
 .../core/runtime/optionhandler/OptionHandler.java  |   32 -
 .../optionhandler/OptionHandlerAbstract.java       |   57 -
 .../isis/core/runtime/profiler/Profiler.java       |  150 ---
 .../isis/core/runtime/profiler/ProfilerSystem.java |   30 -
 .../isis/core/runtime/snapshot/DomSerializer.java  |   33 -
 .../core/runtime/snapshot/DomSerializerJaxp.java   |   71 --
 .../apache/isis/core/runtime/snapshot/Helper.java  |   91 --
 .../isis/core/runtime/snapshot/IsisSchema.java     |  182 ----
 .../apache/isis/core/runtime/snapshot/Place.java   |   65 --
 .../isis/core/runtime/snapshot/XmlSchema.java      |  623 -----------
 .../isis/core/runtime/snapshot/XmlSnapshot.java    |  823 ---------------
 .../isis/core/runtime/snapshot/XsMetaModel.java    |  337 ------
 .../isis/core/runtime/sysout/SystemPrinter.java    |  148 ---
 .../isis/core/runtime/userprofile/Options.java     |  113 --
 .../core/runtime/userprofile/OptionsClient.java    |   27 -
 .../core/runtime/userprofile/PerspectiveEntry.java |  115 --
 .../core/runtime/userprofile/UserLocalization.java |   46 -
 .../isis/core/runtime/userprofile/UserProfile.java |  168 ---
 .../runtime/userprofile/UserProfileLoader.java     |   78 --
 .../core/runtime/userprofile/UserProfileStore.java |   30 -
 framework/core/webapp/NOTICE                       |    7 -
 framework/core/webapp/pom.xml                      |  100 --
 framework/core/webapp/src/site/apt/index.apt       |   27 -
 framework/core/webapp/src/site/apt/jottings.apt    |   24 -
 framework/core/webapp/src/site/site.xml            |   43 -
 framework/progmodels/dflt/NOTICE                   |    7 -
 framework/progmodels/dflt/pom.xml                  |  109 --
 framework/progmodels/dflt/src/site/apt/index.apt   |   46 -
 .../progmodels/dflt/src/site/apt/jottings.apt      |   24 -
 framework/progmodels/dflt/src/site/site.xml        |   40 -
 framework/progmodels/pom.xml                       |   13 -
 .../progmodels/wrapper/wrapper-metamodel/pom.xml   |   10 +-
 .../src/main/resources/archetype-resources/pom.xml |    2 +-
 .../archetype-resources/viewer-html/pom.xml        |    2 +-
 .../viewer-restfulobjects/pom.xml                  |    2 +-
 .../archetype-resources/viewer-scimpi/pom.xml      |    2 +-
 .../archetype-resources/viewer-wicket/pom.xml      |    2 +-
 framework/runtimes/dflt/bytecode/identity/NOTICE   |    7 -
 framework/runtimes/dflt/bytecode/identity/pom.xml  |   74 --
 .../classsubstitutor/ClassSubstitutorIdentity.java |   29 -
 .../identity/objectfactory/ObjectFactoryBasic.java |   54 -
 .../dflt/bytecode/identity/src/site/apt/index.apt  |   39 -
 .../bytecode/identity/src/site/apt/jottings.apt    |   24 -
 .../dflt/bytecode/identity/src/site/site.xml       |   40 -
 framework/runtimes/dflt/bytecode/pom.xml           |    1 -
 framework/runtimes/dflt/monitoring/pom.xml         |    6 +
 .../dflt/webapp/monitor/MonitorServlet.java        |   87 ++
 .../webapp/monitor/WebServerMonitorInstaller.java  |   45 +
 .../dflt/objectstores/jdo/jdo-metamodel/pom.xml    |    7 +-
 framework/runtimes/dflt/objectstores/jdo/pom.xml   |   20 +-
 framework/runtimes/dflt/objectstores/nosql/pom.xml |   10 -
 .../dflt/objectstores/sql/sql-tests-common/pom.xml |    5 -
 framework/runtimes/dflt/pom.xml                    |    4 +-
 framework/runtimes/dflt/runtime/pom.xml            |   45 +-
 .../classsubstitutor/ClassSubstitutorIdentity.java |   29 +
 .../identity/objectfactory/ObjectFactoryBasic.java |   54 +
 .../runtimes/dflt/webapp/IsisSessionFilter.java    |  407 +++++++
 .../dflt/webapp/IsisWebAppBootstrapper.java        |  217 ++++
 .../isis/runtimes/dflt/webapp/WebAppConstants.java |   85 ++
 .../webapp/auth/AuthenticationSessionStrategy.java |   43 +
 .../AuthenticationSessionStrategyAbstract.java     |   46 +
 .../auth/AuthenticationSessionStrategyDefault.java |  113 ++
 .../runtimes/dflt/runtime/src/site/apt/index.apt   |   29 +
 framework/runtimes/dflt/testsupport/pom.xml        |    6 -
 framework/runtimes/dflt/webapp/pom.xml             |    2 +-
 .../runtimes/dflt/webapp/IsisSessionFilter.java    |  407 -------
 .../dflt/webapp/IsisWebAppBootstrapper.java        |  217 ----
 .../isis/runtimes/dflt/webapp/WebAppConstants.java |   85 --
 .../webapp/auth/AuthenticationSessionStrategy.java |   43 -
 .../AuthenticationSessionStrategyAbstract.java     |   46 -
 .../auth/AuthenticationSessionStrategyDefault.java |  113 --
 .../dflt/webapp/monitor/MonitorServlet.java        |   87 --
 .../webapp/monitor/WebServerMonitorInstaller.java  |   45 -
 framework/runtimes/dflt/webserver/pom.xml          |    2 +-
 framework/tck/pom.xml                              |    9 +-
 framework/viewer/bdd/common/pom.xml                |    2 +-
 framework/viewer/bdd/concordion-tck/pom.xml        |    6 +-
 framework/viewer/dnd-tck/pom.xml                   |    6 +-
 framework/viewer/dnd/pom.xml                       |    6 +-
 framework/viewer/html-tck/pom.xml                  |    8 +-
 framework/viewer/html/pom.xml                      |   18 +-
 framework/viewer/junit-tck/pom.xml                 |    6 +-
 framework/viewer/junit/pom.xml                     |   13 +-
 .../restfulobjects/restfulobjects-tck/pom.xml      |    8 +-
 .../restfulobjects/restfulobjects-viewer/pom.xml   |    2 +-
 framework/viewer/scimpi/scimpi-dispatcher/pom.xml  |    7 +-
 framework/viewer/scimpi/scimpi-tck/pom.xml         |    8 +-
 framework/viewer/wicket/pom.xml                    |    7 +-
 framework/viewer/wicket/wicket-model/pom.xml       |    4 +-
 framework/viewer/wicket/wicket-tck/pom.xml         |    8 +-
 framework/viewer/wicket/wicket-ui/pom.xml          |    2 +-
 framework/viewer/wicket/wicket-viewer/pom.xml      |    2 -
 255 files changed, 8289 insertions(+), 9598 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/6de87443/examples/claims/pom.xml
----------------------------------------------------------------------
diff --git a/examples/claims/pom.xml b/examples/claims/pom.xml
index e3586a8..81f394f 100644
--- a/examples/claims/pom.xml
+++ b/examples/claims/pom.xml
@@ -230,34 +230,7 @@
             <!-- isis: core -->
             <dependency>
                 <groupId>org.apache.isis.core</groupId>
-                <artifactId>commons</artifactId>
-                <version>${isis.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.isis.core</groupId>
-                <artifactId>metamodel</artifactId>
-                <version>${isis.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.isis.core</groupId>
-                <artifactId>progmodel</artifactId>
-                <version>${isis.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.isis.core</groupId>
-                <artifactId>runtime</artifactId>
-                <version>${isis.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.isis.core</groupId>
-                <artifactId>webapp</artifactId>
-                <version>${isis.version}</version>
-            </dependency>
-
-            <!-- isis: progmodels: dflt -->
-            <dependency>
-                <groupId>org.apache.isis.progmodels</groupId>
-                <artifactId>dflt</artifactId>
+                <artifactId>isis-metamodel</artifactId>
                 <version>${isis.version}</version>
             </dependency>
 
@@ -334,7 +307,7 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.isis.runtimes.dflt</groupId>
-                <artifactId>webserver</artifactId>
+                <artifactId>isis-webserver</artifactId>
                 <version>${isis.version}</version>
             </dependency>
             <dependency>

http://git-wip-us.apache.org/repos/asf/isis/blob/6de87443/examples/claims/viewer-bdd/pom.xml
----------------------------------------------------------------------
diff --git a/examples/claims/viewer-bdd/pom.xml b/examples/claims/viewer-bdd/pom.xml
index d09e006..37a78e7 100644
--- a/examples/claims/viewer-bdd/pom.xml
+++ b/examples/claims/viewer-bdd/pom.xml
@@ -61,7 +61,7 @@
         <!-- isis core -->
         <dependency>
             <groupId>org.apache.isis.core</groupId>
-            <artifactId>runtime</artifactId>
+            <artifactId>isis-metamodel</artifactId>
         </dependency>
 
         <!-- isis default runtime -->
@@ -84,10 +84,6 @@
         
         <!-- isis defaults (other) -->
         <dependency>
-            <groupId>org.apache.isis.progmodels</groupId>
-            <artifactId>dflt</artifactId>
-        </dependency>
-        <dependency>
             <groupId>org.apache.isis.security</groupId>
             <artifactId>dflt</artifactId>
         </dependency>

http://git-wip-us.apache.org/repos/asf/isis/blob/6de87443/examples/claims/viewer-dnd/pom.xml
----------------------------------------------------------------------
diff --git a/examples/claims/viewer-dnd/pom.xml b/examples/claims/viewer-dnd/pom.xml
index c070c8a..94d6d21 100644
--- a/examples/claims/viewer-dnd/pom.xml
+++ b/examples/claims/viewer-dnd/pom.xml
@@ -73,13 +73,13 @@
 		<!-- isis core -->
         <dependency>
             <groupId>org.apache.isis.core</groupId>
-            <artifactId>runtime</artifactId>
+            <artifactId>isis-metamodel</artifactId>
         </dependency>
 
 		<!-- isis default runtime -->
         <dependency>
 			<groupId>org.apache.isis.runtimes.dflt</groupId>
-            <artifactId>webserver</artifactId>
+            <artifactId>isis-webserver</artifactId>
         </dependency>
         <dependency>
             <groupId>org.apache.isis.runtimes.dflt.bytecode</groupId>
@@ -103,10 +103,6 @@
         </dependency>
 
         <dependency>
-            <groupId>org.apache.isis.progmodels</groupId>
-            <artifactId>dflt</artifactId>
-        </dependency>
-        <dependency>
             <groupId>org.apache.isis.security</groupId>
             <artifactId>dflt</artifactId>
         </dependency>
@@ -323,7 +319,7 @@
 				</dependency>
 				<dependency>
 				    <groupId>org.apache.isis.runtimes.dflt</groupId>
-				    <artifactId>webserver</artifactId>
+				    <artifactId>isis-webserver</artifactId>
 				</dependency>
 				<!--  JETTY DEPENDENCIES FOR RUNNING webapp viewers in packaged JAR -->
 				<dependency>

http://git-wip-us.apache.org/repos/asf/isis/blob/6de87443/examples/claims/viewer-html/pom.xml
----------------------------------------------------------------------
diff --git a/examples/claims/viewer-html/pom.xml b/examples/claims/viewer-html/pom.xml
index 1e4cbb4..28b9028 100644
--- a/examples/claims/viewer-html/pom.xml
+++ b/examples/claims/viewer-html/pom.xml
@@ -96,12 +96,6 @@
             <artifactId>xml</artifactId>
         </dependency>
         
-        <!-- isis progmodel -->
-        <dependency>
-            <groupId>org.apache.isis.progmodels</groupId>
-            <artifactId>dflt</artifactId>
-        </dependency>
-
         <!-- isis security implementations -->        
         <dependency>
             <groupId>org.apache.isis.security</groupId>
@@ -115,7 +109,7 @@
         <!-- to run using WebServer (optional) -->
         <dependency>
             <groupId>org.apache.isis.runtimes.dflt</groupId>
-            <artifactId>webserver</artifactId>
+            <artifactId>isis-webserver</artifactId>
             <scope>runtime</scope>
             <optional>true</optional>
         </dependency>

http://git-wip-us.apache.org/repos/asf/isis/blob/6de87443/examples/claims/viewer-scimpi/pom.xml
----------------------------------------------------------------------
diff --git a/examples/claims/viewer-scimpi/pom.xml b/examples/claims/viewer-scimpi/pom.xml
index 6ec63e7..351e6cc 100644
--- a/examples/claims/viewer-scimpi/pom.xml
+++ b/examples/claims/viewer-scimpi/pom.xml
@@ -84,12 +84,6 @@
             <artifactId>xml</artifactId>
         </dependency>
         
-        <!-- isis progmodel -->
-        <dependency>
-            <groupId>org.apache.isis.progmodels</groupId>
-            <artifactId>dflt</artifactId>
-        </dependency>
-
         <!-- isis security implementations -->        
         <dependency>
             <groupId>org.apache.isis.security</groupId>
@@ -103,7 +97,7 @@
         <!-- to run using WebServer -->
         <dependency>
             <groupId>org.apache.isis.runtimes.dflt</groupId>
-            <artifactId>webserver</artifactId>
+            <artifactId>isis-webserver</artifactId>
             <scope>runtime</scope>
             <optional>true</optional>
         </dependency>

http://git-wip-us.apache.org/repos/asf/isis/blob/6de87443/examples/claims/viewer-wicket/pom.xml
----------------------------------------------------------------------
diff --git a/examples/claims/viewer-wicket/pom.xml b/examples/claims/viewer-wicket/pom.xml
index 85b0b2c..a1ccd5e 100644
--- a/examples/claims/viewer-wicket/pom.xml
+++ b/examples/claims/viewer-wicket/pom.xml
@@ -123,12 +123,6 @@
             <artifactId>xml</artifactId>
         </dependency>
         
-        <!-- isis progmodel -->
-        <dependency>
-            <groupId>org.apache.isis.progmodels</groupId>
-            <artifactId>dflt</artifactId>
-        </dependency>
-
         <!-- isis security implementations -->        
         <dependency>
             <groupId>org.apache.isis.security</groupId>
@@ -142,7 +136,7 @@
         <!-- to run using WebServer -->
         <dependency>
             <groupId>org.apache.isis.runtimes.dflt</groupId>
-            <artifactId>webserver</artifactId>
+            <artifactId>isis-webserver</artifactId>
             <scope>runtime</scope>
             <optional>true</optional>
         </dependency>

http://git-wip-us.apache.org/repos/asf/isis/blob/6de87443/examples/onlinedemo/pom.xml
----------------------------------------------------------------------
diff --git a/examples/onlinedemo/pom.xml b/examples/onlinedemo/pom.xml
index d4119c2..f4fcece 100644
--- a/examples/onlinedemo/pom.xml
+++ b/examples/onlinedemo/pom.xml
@@ -187,34 +187,7 @@
             <!-- isis: core -->
             <dependency>
                 <groupId>org.apache.isis.core</groupId>
-                <artifactId>commons</artifactId>
-                <version>${isis.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.isis.core</groupId>
-                <artifactId>metamodel</artifactId>
-                <version>${isis.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.isis.core</groupId>
-                <artifactId>progmodel</artifactId>
-                <version>${isis.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.isis.core</groupId>
-                <artifactId>runtime</artifactId>
-                <version>${isis.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.isis.core</groupId>
-                <artifactId>webapp</artifactId>
-                <version>${isis.version}</version>
-            </dependency>
-
-            <!-- isis: progmodels: dflt -->
-            <dependency>
-                <groupId>org.apache.isis.progmodels</groupId>
-                <artifactId>dflt</artifactId>
+                <artifactId>isis-metamodel</artifactId>
                 <version>${isis.version}</version>
             </dependency>
 
@@ -291,7 +264,7 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.isis.runtimes.dflt</groupId>
-                <artifactId>webserver</artifactId>
+                <artifactId>isis-webserver</artifactId>
                 <version>${isis.version}</version>
             </dependency>
             <dependency>

http://git-wip-us.apache.org/repos/asf/isis/blob/6de87443/examples/onlinedemo/webapp/pom.xml
----------------------------------------------------------------------
diff --git a/examples/onlinedemo/webapp/pom.xml b/examples/onlinedemo/webapp/pom.xml
index c024511..1a18520 100644
--- a/examples/onlinedemo/webapp/pom.xml
+++ b/examples/onlinedemo/webapp/pom.xml
@@ -103,11 +103,6 @@
             <artifactId>xml</artifactId>
         </dependency>
         
-        <!-- isis progmodel -->
-        <dependency>
-            <groupId>org.apache.isis.progmodels</groupId>
-            <artifactId>dflt</artifactId>
-        </dependency>
 
         <!-- isis security implementations -->        
         <dependency>
@@ -122,7 +117,7 @@
         <!-- to run using WebServer (optional) -->
         <dependency>
             <groupId>org.apache.isis.runtimes.dflt</groupId>
-            <artifactId>webserver</artifactId>
+            <artifactId>isis-webserver</artifactId>
             <scope>runtime</scope>
             <optional>true</optional>
         </dependency>

http://git-wip-us.apache.org/repos/asf/isis/blob/6de87443/examples/quickstart/pom.xml
----------------------------------------------------------------------
diff --git a/examples/quickstart/pom.xml b/examples/quickstart/pom.xml
index 05174b4..def6c90 100644
--- a/examples/quickstart/pom.xml
+++ b/examples/quickstart/pom.xml
@@ -210,34 +210,7 @@
             <!-- isis: core -->
             <dependency>
                 <groupId>org.apache.isis.core</groupId>
-                <artifactId>commons</artifactId>
-                <version>${isis.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.isis.core</groupId>
-                <artifactId>metamodel</artifactId>
-                <version>${isis.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.isis.core</groupId>
-                <artifactId>progmodel</artifactId>
-                <version>${isis.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.isis.core</groupId>
-                <artifactId>runtime</artifactId>
-                <version>${isis.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.isis.core</groupId>
-                <artifactId>webapp</artifactId>
-                <version>${isis.version}</version>
-            </dependency>
-
-            <!-- isis: progmodels: dflt -->
-            <dependency>
-                <groupId>org.apache.isis.progmodels</groupId>
-                <artifactId>dflt</artifactId>
+                <artifactId>isis-metamodel</artifactId>
                 <version>${isis.version}</version>
             </dependency>
 
@@ -314,7 +287,7 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.isis.runtimes.dflt</groupId>
-                <artifactId>webserver</artifactId>
+                <artifactId>isis-webserver</artifactId>
                 <version>${isis.version}</version>
             </dependency>
             <dependency>

http://git-wip-us.apache.org/repos/asf/isis/blob/6de87443/examples/quickstart/viewer-dnd/pom.xml
----------------------------------------------------------------------
diff --git a/examples/quickstart/viewer-dnd/pom.xml b/examples/quickstart/viewer-dnd/pom.xml
index 2ba60c8..4376e0e 100644
--- a/examples/quickstart/viewer-dnd/pom.xml
+++ b/examples/quickstart/viewer-dnd/pom.xml
@@ -99,7 +99,7 @@
         <!-- isis core -->
         <dependency>
             <groupId>org.apache.isis.core</groupId>
-            <artifactId>runtime</artifactId>
+            <artifactId>isis-metamodel</artifactId>
         </dependency>
 
         <!-- isis default runtime -->
@@ -126,10 +126,6 @@
         
         <!-- isis defaults (other) -->
         <dependency>
-            <groupId>org.apache.isis.progmodels</groupId>
-            <artifactId>dflt</artifactId>
-        </dependency>
-        <dependency>
             <groupId>org.apache.isis.security</groupId>
             <artifactId>dflt</artifactId>
         </dependency>

http://git-wip-us.apache.org/repos/asf/isis/blob/6de87443/examples/quickstart/viewer-html/pom.xml
----------------------------------------------------------------------
diff --git a/examples/quickstart/viewer-html/pom.xml b/examples/quickstart/viewer-html/pom.xml
index f8e3aa3..b1118d9 100644
--- a/examples/quickstart/viewer-html/pom.xml
+++ b/examples/quickstart/viewer-html/pom.xml
@@ -128,12 +128,6 @@
             <artifactId>dflt</artifactId>
         </dependency>
         
-        <!-- isis progmodel -->
-        <dependency>
-            <groupId>org.apache.isis.progmodels</groupId>
-            <artifactId>dflt</artifactId>
-        </dependency>
-
         <!-- isis security implementations -->        
         <dependency>
             <groupId>org.apache.isis.security</groupId>
@@ -147,7 +141,7 @@
         <!-- to run using WebServer (optional) -->
         <dependency>
             <groupId>org.apache.isis.runtimes.dflt</groupId>
-            <artifactId>webserver</artifactId>
+            <artifactId>isis-webserver</artifactId>
             <scope>runtime</scope>
             <optional>true</optional>
         </dependency>

http://git-wip-us.apache.org/repos/asf/isis/blob/6de87443/examples/quickstart/viewer-scimpi/pom.xml
----------------------------------------------------------------------
diff --git a/examples/quickstart/viewer-scimpi/pom.xml b/examples/quickstart/viewer-scimpi/pom.xml
index 28c1caf..da5245d 100644
--- a/examples/quickstart/viewer-scimpi/pom.xml
+++ b/examples/quickstart/viewer-scimpi/pom.xml
@@ -125,12 +125,6 @@
             <artifactId>dflt</artifactId>
         </dependency>
         
-        <!-- isis progmodel -->
-        <dependency>
-            <groupId>org.apache.isis.progmodels</groupId>
-            <artifactId>dflt</artifactId>
-        </dependency>
-
         <!-- isis security implementations -->        
         <dependency>
             <groupId>org.apache.isis.security</groupId>
@@ -144,7 +138,7 @@
         <!-- to run using WebServer (optional) -->
         <dependency>
             <groupId>org.apache.isis.runtimes.dflt</groupId>
-            <artifactId>webserver</artifactId>
+            <artifactId>isis-webserver</artifactId>
             <scope>runtime</scope>
             <optional>true</optional>
         </dependency>

http://git-wip-us.apache.org/repos/asf/isis/blob/6de87443/examples/quickstart_dnd_junit_bdd/pom.xml
----------------------------------------------------------------------
diff --git a/examples/quickstart_dnd_junit_bdd/pom.xml b/examples/quickstart_dnd_junit_bdd/pom.xml
index a82c57e..541764f 100644
--- a/examples/quickstart_dnd_junit_bdd/pom.xml
+++ b/examples/quickstart_dnd_junit_bdd/pom.xml
@@ -204,34 +204,7 @@
             <!-- isis: core -->
             <dependency>
                 <groupId>org.apache.isis.core</groupId>
-                <artifactId>commons</artifactId>
-                <version>${isis.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.isis.core</groupId>
-                <artifactId>metamodel</artifactId>
-                <version>${isis.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.isis.core</groupId>
-                <artifactId>progmodel</artifactId>
-                <version>${isis.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.isis.core</groupId>
-                <artifactId>runtime</artifactId>
-                <version>${isis.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.isis.core</groupId>
-                <artifactId>webapp</artifactId>
-                <version>${isis.version}</version>
-            </dependency>
-
-            <!-- isis: progmodels: dflt -->
-            <dependency>
-                <groupId>org.apache.isis.progmodels</groupId>
-                <artifactId>dflt</artifactId>
+                <artifactId>isis-metamodel</artifactId>
                 <version>${isis.version}</version>
             </dependency>
 
@@ -308,7 +281,7 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.isis.runtimes.dflt</groupId>
-                <artifactId>webserver</artifactId>
+                <artifactId>isis-webserver</artifactId>
                 <version>${isis.version}</version>
             </dependency>
             <dependency>

http://git-wip-us.apache.org/repos/asf/isis/blob/6de87443/examples/quickstart_dnd_junit_bdd/tests-bdd/pom.xml
----------------------------------------------------------------------
diff --git a/examples/quickstart_dnd_junit_bdd/tests-bdd/pom.xml b/examples/quickstart_dnd_junit_bdd/tests-bdd/pom.xml
index 3271a7a..2578dc9 100644
--- a/examples/quickstart_dnd_junit_bdd/tests-bdd/pom.xml
+++ b/examples/quickstart_dnd_junit_bdd/tests-bdd/pom.xml
@@ -58,7 +58,7 @@
         <!-- isis -->
         <dependency>
             <groupId>org.apache.isis.core</groupId>
-            <artifactId>runtime</artifactId>
+            <artifactId>isis-metamodel</artifactId>
         </dependency>
         <dependency>
             <groupId>org.apache.isis.runtimes.dflt.bytecode</groupId>
@@ -73,10 +73,6 @@
             <artifactId>dflt</artifactId>
         </dependency>
         <dependency>
-            <groupId>org.apache.isis.progmodels</groupId>
-            <artifactId>dflt</artifactId>
-        </dependency>
-        <dependency>
             <groupId>org.apache.isis.security</groupId>
             <artifactId>dflt</artifactId>
         </dependency>

http://git-wip-us.apache.org/repos/asf/isis/blob/6de87443/examples/quickstart_dnd_junit_bdd/tests-junit/pom.xml
----------------------------------------------------------------------
diff --git a/examples/quickstart_dnd_junit_bdd/tests-junit/pom.xml b/examples/quickstart_dnd_junit_bdd/tests-junit/pom.xml
index b865e9e..7664354 100644
--- a/examples/quickstart_dnd_junit_bdd/tests-junit/pom.xml
+++ b/examples/quickstart_dnd_junit_bdd/tests-junit/pom.xml
@@ -41,7 +41,7 @@
         <!-- isis -->
         <dependency>
             <groupId>org.apache.isis.core</groupId>
-            <artifactId>runtime</artifactId>
+            <artifactId>isis-metamodel</artifactId>
         </dependency>
         <dependency>
             <groupId>org.apache.isis.runtimes.dflt.bytecode</groupId>
@@ -56,10 +56,6 @@
             <artifactId>dflt</artifactId>
         </dependency>
         <dependency>
-            <groupId>org.apache.isis.progmodels</groupId>
-            <artifactId>dflt</artifactId>
-        </dependency>
-        <dependency>
             <groupId>org.apache.isis.security</groupId>
             <artifactId>dflt</artifactId>
         </dependency>

http://git-wip-us.apache.org/repos/asf/isis/blob/6de87443/examples/quickstart_dnd_junit_bdd/viewer-dnd/pom.xml
----------------------------------------------------------------------
diff --git a/examples/quickstart_dnd_junit_bdd/viewer-dnd/pom.xml b/examples/quickstart_dnd_junit_bdd/viewer-dnd/pom.xml
index 4e57a8c..0ad6c8b 100644
--- a/examples/quickstart_dnd_junit_bdd/viewer-dnd/pom.xml
+++ b/examples/quickstart_dnd_junit_bdd/viewer-dnd/pom.xml
@@ -99,7 +99,7 @@
         <!-- isis core -->
         <dependency>
             <groupId>org.apache.isis.core</groupId>
-            <artifactId>runtime</artifactId>
+            <artifactId>isis-metamodel</artifactId>
         </dependency>
 
         <!-- isis default runtime -->
@@ -124,11 +124,6 @@
             <artifactId>dflt</artifactId>
         </dependency>
         
-        <!-- isis defaults (other) -->
-        <dependency>
-            <groupId>org.apache.isis.progmodels</groupId>
-            <artifactId>dflt</artifactId>
-        </dependency>
         <dependency>
             <groupId>org.apache.isis.security</groupId>
             <artifactId>dflt</artifactId>

http://git-wip-us.apache.org/repos/asf/isis/blob/6de87443/examples/quickstart_wicket_restful_jdo/pom.xml
----------------------------------------------------------------------
diff --git a/examples/quickstart_wicket_restful_jdo/pom.xml b/examples/quickstart_wicket_restful_jdo/pom.xml
index f679a06..e7b3344 100644
--- a/examples/quickstart_wicket_restful_jdo/pom.xml
+++ b/examples/quickstart_wicket_restful_jdo/pom.xml
@@ -198,34 +198,7 @@
             <!-- isis: core -->
             <dependency>
                 <groupId>org.apache.isis.core</groupId>
-                <artifactId>commons</artifactId>
-                <version>${isis.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.isis.core</groupId>
-                <artifactId>metamodel</artifactId>
-                <version>${isis.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.isis.core</groupId>
-                <artifactId>progmodel</artifactId>
-                <version>${isis.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.isis.core</groupId>
-                <artifactId>runtime</artifactId>
-                <version>${isis.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.isis.core</groupId>
-                <artifactId>webapp</artifactId>
-                <version>${isis.version}</version>
-            </dependency>
-
-            <!-- isis: progmodels: dflt -->
-            <dependency>
-                <groupId>org.apache.isis.progmodels</groupId>
-                <artifactId>dflt</artifactId>
+                <artifactId>isis-metamodel</artifactId>
                 <version>${isis.version}</version>
             </dependency>
 
@@ -302,7 +275,7 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.isis.runtimes.dflt</groupId>
-                <artifactId>webserver</artifactId>
+                <artifactId>isis-webserver</artifactId>
                 <version>${isis.version}</version>
             </dependency>
             <dependency>

http://git-wip-us.apache.org/repos/asf/isis/blob/6de87443/examples/quickstart_wicket_restful_jdo/viewer-restfulobjects/pom.xml
----------------------------------------------------------------------
diff --git a/examples/quickstart_wicket_restful_jdo/viewer-restfulobjects/pom.xml b/examples/quickstart_wicket_restful_jdo/viewer-restfulobjects/pom.xml
index 20a754f..899b075 100644
--- a/examples/quickstart_wicket_restful_jdo/viewer-restfulobjects/pom.xml
+++ b/examples/quickstart_wicket_restful_jdo/viewer-restfulobjects/pom.xml
@@ -136,12 +136,6 @@
             <artifactId>dflt</artifactId>
         </dependency>
         
-        <!-- isis progmodel -->
-        <dependency>
-            <groupId>org.apache.isis.progmodels</groupId>
-            <artifactId>dflt</artifactId>
-        </dependency>
-
         <!-- isis security implementations -->        
         <dependency>
             <groupId>org.apache.isis.security</groupId>
@@ -155,7 +149,7 @@
         <!-- to run using WebServer (optional) -->
         <dependency>
             <groupId>org.apache.isis.runtimes.dflt</groupId>
-            <artifactId>webserver</artifactId>
+            <artifactId>isis-webserver</artifactId>
             <scope>runtime</scope>
             <optional>true</optional>
         </dependency>

http://git-wip-us.apache.org/repos/asf/isis/blob/6de87443/examples/quickstart_wicket_restful_jdo/viewer-wicket/pom.xml
----------------------------------------------------------------------
diff --git a/examples/quickstart_wicket_restful_jdo/viewer-wicket/pom.xml b/examples/quickstart_wicket_restful_jdo/viewer-wicket/pom.xml
index 7646c2e..d2a64c1 100644
--- a/examples/quickstart_wicket_restful_jdo/viewer-wicket/pom.xml
+++ b/examples/quickstart_wicket_restful_jdo/viewer-wicket/pom.xml
@@ -137,12 +137,6 @@
             <artifactId>dflt</artifactId>
         </dependency>
         
-        <!-- isis progmodel -->
-        <dependency>
-            <groupId>org.apache.isis.progmodels</groupId>
-            <artifactId>dflt</artifactId>
-        </dependency>
-
         <!-- isis security implementations -->        
         <dependency>
             <groupId>org.apache.isis.security</groupId>
@@ -156,7 +150,7 @@
         <!-- to run using WebServer (optional) -->
         <dependency>
             <groupId>org.apache.isis.runtimes.dflt</groupId>
-            <artifactId>webserver</artifactId>
+            <artifactId>isis-webserver</artifactId>
             <scope>runtime</scope>
             <optional>true</optional>
         </dependency>

http://git-wip-us.apache.org/repos/asf/isis/blob/6de87443/framework/core/commons/NOTICE
----------------------------------------------------------------------
diff --git a/framework/core/commons/NOTICE b/framework/core/commons/NOTICE
deleted file mode 100644
index d391f54..0000000
--- a/framework/core/commons/NOTICE
+++ /dev/null
@@ -1,7 +0,0 @@
-Apache Isis
-Copyright 2010-2011 The Apache Software Foundation
-
-This product includes software developed at
-The Apache Software Foundation (http://www.apache.org/).
-
-

http://git-wip-us.apache.org/repos/asf/isis/blob/6de87443/framework/core/commons/pom.xml
----------------------------------------------------------------------
diff --git a/framework/core/commons/pom.xml b/framework/core/commons/pom.xml
deleted file mode 100644
index d41385f..0000000
--- a/framework/core/commons/pom.xml
+++ /dev/null
@@ -1,63 +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</groupId>
-        <artifactId>core</artifactId>
-        <version>0.3.1-SNAPSHOT</version>
-    </parent>
-
-    <groupId>org.apache.isis.core</groupId>
-    <artifactId>commons</artifactId>
-    <name>Core Commons</name>
-
-    <properties>
-        <siteBaseDir>../..</siteBaseDir>
-        <relativeUrl>core/commons/</relativeUrl>
-    </properties>
-
-    <!-- used in Site generation for relative references. -->
-    <url>http://incubator.apache.org/isis/${relativeUrl}</url>
-
-    <reporting>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-project-info-reports-plugin</artifactId>
-                <version>${maven-project-info-reports-plugin}</version>
-                <inherited>false</inherited>
-                <configuration>
-                    <dependencyLocationsEnabled>false</dependencyLocationsEnabled>
-                </configuration>
-                <reportSets>
-                    <reportSet>
-                        <inherited>false</inherited>
-                        <reports>
-                            <report>dependencies</report>
-                            <report>dependency-convergence</report>
-                            <report>plugins</report>
-                            <report>summary</report>
-                        </reports>
-                    </reportSet>
-                </reportSets>
-            </plugin>
-        </plugins>
-    </reporting>
-
-    <dependencies>
-
-    </dependencies>
-
-
-</project>

http://git-wip-us.apache.org/repos/asf/isis/blob/6de87443/framework/core/commons/src/site/apt/index.apt
----------------------------------------------------------------------
diff --git a/framework/core/commons/src/site/apt/index.apt b/framework/core/commons/src/site/apt/index.apt
deleted file mode 100644
index 2735877..0000000
--- a/framework/core/commons/src/site/apt/index.apt
+++ /dev/null
@@ -1,26 +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.
-
-
-
- 
-Documentation
-
- See the {{{../index.html}core}} documentation 
- ({{{../docbkx/html/guide/isis-core.html}HTML}} or 
- {{{../docbkx/pdf/isis-core.pdf}PDF}}).
- 
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/6de87443/framework/core/commons/src/site/apt/jottings.apt
----------------------------------------------------------------------
diff --git a/framework/core/commons/src/site/apt/jottings.apt b/framework/core/commons/src/site/apt/jottings.apt
deleted file mode 100644
index c5d1200..0000000
--- a/framework/core/commons/src/site/apt/jottings.apt
+++ /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.
-
-
-
-Jottings
- 
-  This page is to capture any random jottings relating to this module prior 
-  to being moved into formal documentation. 
- 

http://git-wip-us.apache.org/repos/asf/isis/blob/6de87443/framework/core/commons/src/site/site.xml
----------------------------------------------------------------------
diff --git a/framework/core/commons/src/site/site.xml b/framework/core/commons/src/site/site.xml
deleted file mode 100644
index 6da078d..0000000
--- a/framework/core/commons/src/site/site.xml
+++ /dev/null
@@ -1,43 +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>
-
-	<body>
-		<breadcrumbs>
-			<item name="Commons" href="index.html"/>
-		</breadcrumbs>
-
-		<menu name="Commons">
-			<item name="About" href="index.html" />
-            <item name="Jottings" href="jottings.html" />
-		</menu>
-        
-        <menu name="Core Modules">
-            <item name="Core Test Support" href="../testsupport/index.html" />
-            <item name="Core Commons" href="../commons/index.html" />
-            <item name="Core Metamodel" href="../metamodel/index.html" />
-            <item name="Core Progmodel" href="../progmodel/index.html" />
-            <item name="Core Runtime" href="../runtime/index.html" />
-            <item name="Core Webapp" href="../webapp/index.html" />
-        </menu>
-        
-		<menu name="Maven Reports" ref="reports"/>
-	</body>
-</project>

http://git-wip-us.apache.org/repos/asf/isis/blob/6de87443/framework/core/metamodel/pom.xml
----------------------------------------------------------------------
diff --git a/framework/core/metamodel/pom.xml b/framework/core/metamodel/pom.xml
index f225ce7..cad70db 100644
--- a/framework/core/metamodel/pom.xml
+++ b/framework/core/metamodel/pom.xml
@@ -74,13 +74,6 @@
         </dependency>
 
         <dependency>
-            <groupId>org.apache.isis.core</groupId>
-            <artifactId>commons</artifactId>
-        </dependency>
-
-
-
-        <dependency>
             <groupId>commons-collections</groupId>
             <artifactId>commons-collections</artifactId>
         </dependency>
@@ -90,6 +83,11 @@
         </dependency>
 
         <dependency>
+            <groupId>commons-cli</groupId>
+            <artifactId>commons-cli</artifactId>
+        </dependency>
+
+        <dependency>
             <groupId>com.google.inject</groupId>
             <artifactId>guice</artifactId>
         </dependency>
@@ -100,7 +98,13 @@
             <scope>provided</scope>
         </dependency>
 
-
+        <!-- to resolve log4j's optional dependency on javax.mail:mail:1.4 -->
+        <dependency>
+            <groupId>org.apache.geronimo.specs</groupId>
+            <artifactId>geronimo-javamail_1.4_spec</artifactId>
+            <optional>true</optional>
+            <scope>provided</scope>
+        </dependency>
 
     </dependencies>
 

http://git-wip-us.apache.org/repos/asf/isis/blob/6de87443/framework/core/metamodel/src/main/java/org/apache/isis/core/runtime/about/AboutIsis.java
----------------------------------------------------------------------
diff --git a/framework/core/metamodel/src/main/java/org/apache/isis/core/runtime/about/AboutIsis.java b/framework/core/metamodel/src/main/java/org/apache/isis/core/runtime/about/AboutIsis.java
new file mode 100644
index 0000000..aa38e5a
--- /dev/null
+++ b/framework/core/metamodel/src/main/java/org/apache/isis/core/runtime/about/AboutIsis.java
@@ -0,0 +1,141 @@
+/*
+ *  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 org.apache.isis.core.runtime.about;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.List;
+import java.util.MissingResourceException;
+import java.util.Properties;
+import java.util.ResourceBundle;
+
+import org.apache.isis.core.commons.exceptions.IsisException;
+
+public class AboutIsis {
+    private static String applicationCopyrightNotice;
+    private static String applicationName;
+    private static String applicationVersion;
+    private static String frameworkName;
+    private static String frameworkVersion;
+    private static String logo;
+    private static String frameworkCopyright;
+    private static String frameworkCompileDate;
+    private static List<ComponentDetails> componentDetails;
+
+    static {
+        try {
+            final ResourceBundle bundle = ResourceBundle.getBundle("isis-version");
+            logo = bundle.getString("framework.logo");
+            frameworkVersion = bundle.getString("framework.version");
+            frameworkName = bundle.getString("framework.name");
+            frameworkCopyright = bundle.getString("framework.copyright");
+            frameworkCompileDate = bundle.getString("framework.compile.date");
+        } catch (final MissingResourceException ex) {
+            logo = "splash-logo";
+            frameworkVersion = "${project.version}-r${buildNumber}";
+            frameworkCopyright = "Copyright (c) 2010~2012 Apache Software Foundation";
+            frameworkName = "${project.parent.name}";
+        }
+
+        // NOT in use yet: frameworkVersion = findVersion();
+    }
+
+    public static String findVersion() {
+        try {
+            final String moduleId = "org.apache.isis.plugins:dndviewer";
+            final String module = moduleId.replace(":", "/");
+            final InputStream resourceAsStream = AboutIsis.class.getClassLoader().getResourceAsStream("META-INF/maven/" + module + "/pom.properties");
+            if (resourceAsStream == null) {
+                return "no version";
+            }
+            final Properties p = new Properties();
+            p.load(resourceAsStream);
+            final String version = p.getProperty("version");
+            return version;
+        } catch (final IOException e) {
+            throw new IsisException(e);
+        }
+
+    }
+
+    public static String getApplicationCopyrightNotice() {
+        return applicationCopyrightNotice;
+    }
+
+    public static String getApplicationName() {
+        return applicationName;
+    }
+
+    public static String getApplicationVersion() {
+        return applicationVersion;
+    }
+
+    public static String getFrameworkCopyrightNotice() {
+        return select(frameworkCopyright, "Copyright Apache Software Foundation");
+    }
+
+    public static String getFrameworkCompileDate() {
+        return frameworkCompileDate;
+    }
+
+    public static String getFrameworkName() {
+        return select(frameworkName, "Apache Isis (incubating)");
+    }
+
+    public static String getImageName() {
+        return select(logo, "splash-logo");
+    }
+
+    public static String getFrameworkVersion() {
+        final String version = "Version " + select(frameworkVersion, "unreleased");
+        /*
+         * NOT in use yet: for (ComponentDetails details : componentDetails) {
+         * version += "\n" + details.getName() + " " + details.getModule() + " "
+         * + details.getVersion(); }
+         */
+        return version;
+    }
+
+    public static void main(final String[] args) {
+        System.out.println(getFrameworkName() + ", " + getFrameworkVersion());
+        System.out.println(getFrameworkCopyrightNotice());
+    }
+
+    private static String select(final String value, final String defaultValue) {
+        return value == null || value.startsWith("${") ? defaultValue : value;
+    }
+
+    public static void setApplicationCopyrightNotice(final String applicationCopyrightNotice) {
+        AboutIsis.applicationCopyrightNotice = applicationCopyrightNotice;
+    }
+
+    public static void setApplicationName(final String applicationName) {
+        AboutIsis.applicationName = applicationName;
+    }
+
+    public static void setApplicationVersion(final String applicationVersion) {
+        AboutIsis.applicationVersion = applicationVersion;
+    }
+
+    public static void setComponentDetails(final List<ComponentDetails> componentDetails) {
+        AboutIsis.componentDetails = componentDetails;
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/6de87443/framework/core/metamodel/src/main/java/org/apache/isis/core/runtime/about/ComponentDetails.java
----------------------------------------------------------------------
diff --git a/framework/core/metamodel/src/main/java/org/apache/isis/core/runtime/about/ComponentDetails.java b/framework/core/metamodel/src/main/java/org/apache/isis/core/runtime/about/ComponentDetails.java
new file mode 100644
index 0000000..6b3d2ea
--- /dev/null
+++ b/framework/core/metamodel/src/main/java/org/apache/isis/core/runtime/about/ComponentDetails.java
@@ -0,0 +1,32 @@
+/*
+ *  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 org.apache.isis.core.runtime.about;
+
+public interface ComponentDetails {
+
+    public abstract String getName();
+
+    public abstract String getModule();
+
+    public abstract String getVersion();
+
+    public abstract boolean isInstalled();
+
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/6de87443/framework/core/metamodel/src/main/java/org/apache/isis/core/runtime/authentication/AuthenticationManager.java
----------------------------------------------------------------------
diff --git a/framework/core/metamodel/src/main/java/org/apache/isis/core/runtime/authentication/AuthenticationManager.java b/framework/core/metamodel/src/main/java/org/apache/isis/core/runtime/authentication/AuthenticationManager.java
new file mode 100644
index 0000000..ad0c05a
--- /dev/null
+++ b/framework/core/metamodel/src/main/java/org/apache/isis/core/runtime/authentication/AuthenticationManager.java
@@ -0,0 +1,45 @@
+/*
+ *  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 org.apache.isis.core.runtime.authentication;
+
+import org.apache.isis.core.commons.authentication.AuthenticationSession;
+import org.apache.isis.core.commons.components.ApplicationScopedComponent;
+
+public interface AuthenticationManager extends ApplicationScopedComponent {
+
+    /**
+     * Caches and returns an authentication {@link AuthenticationSession} if the
+     * {@link AuthenticationRequest request} is valid; otherwise returns
+     * <tt>null</tt>.
+     */
+    AuthenticationSession authenticate(AuthenticationRequest request);
+
+    boolean supportsRegistration(Class<? extends RegistrationDetails> registrationDetailsClass);
+
+    boolean register(RegistrationDetails registrationDetails);
+
+    /**
+     * Whether the provided {@link AuthenticationSession} is still valid.
+     */
+    boolean isSessionValid(AuthenticationSession authenticationSession);
+
+    void closeSession(AuthenticationSession authenticationSession);
+
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/6de87443/framework/core/metamodel/src/main/java/org/apache/isis/core/runtime/authentication/AuthenticationManagerInstaller.java
----------------------------------------------------------------------
diff --git a/framework/core/metamodel/src/main/java/org/apache/isis/core/runtime/authentication/AuthenticationManagerInstaller.java b/framework/core/metamodel/src/main/java/org/apache/isis/core/runtime/authentication/AuthenticationManagerInstaller.java
new file mode 100644
index 0000000..08a45ab
--- /dev/null
+++ b/framework/core/metamodel/src/main/java/org/apache/isis/core/runtime/authentication/AuthenticationManagerInstaller.java
@@ -0,0 +1,30 @@
+/*
+ *  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 org.apache.isis.core.runtime.authentication;
+
+import org.apache.isis.core.commons.components.Installer;
+
+public interface AuthenticationManagerInstaller extends Installer {
+
+    static String TYPE = "authentication";
+
+    AuthenticationManager createAuthenticationManager();
+
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/6de87443/framework/core/metamodel/src/main/java/org/apache/isis/core/runtime/authentication/AuthenticationRequest.java
----------------------------------------------------------------------
diff --git a/framework/core/metamodel/src/main/java/org/apache/isis/core/runtime/authentication/AuthenticationRequest.java b/framework/core/metamodel/src/main/java/org/apache/isis/core/runtime/authentication/AuthenticationRequest.java
new file mode 100644
index 0000000..487629b
--- /dev/null
+++ b/framework/core/metamodel/src/main/java/org/apache/isis/core/runtime/authentication/AuthenticationRequest.java
@@ -0,0 +1,32 @@
+/*
+ *  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 org.apache.isis.core.runtime.authentication;
+
+import java.util.List;
+
+public interface AuthenticationRequest {
+
+    String getName();
+
+    List<String> getRoles();
+
+    void setRoles(List<String> roles);
+
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/6de87443/framework/core/metamodel/src/main/java/org/apache/isis/core/runtime/authentication/AuthenticationRequestAbstract.java
----------------------------------------------------------------------
diff --git a/framework/core/metamodel/src/main/java/org/apache/isis/core/runtime/authentication/AuthenticationRequestAbstract.java b/framework/core/metamodel/src/main/java/org/apache/isis/core/runtime/authentication/AuthenticationRequestAbstract.java
new file mode 100644
index 0000000..729dae7
--- /dev/null
+++ b/framework/core/metamodel/src/main/java/org/apache/isis/core/runtime/authentication/AuthenticationRequestAbstract.java
@@ -0,0 +1,52 @@
+/*
+ *  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 org.apache.isis.core.runtime.authentication;
+
+import java.util.Collections;
+import java.util.List;
+
+import com.google.common.collect.Lists;
+
+public abstract class AuthenticationRequestAbstract implements AuthenticationRequest {
+
+    private final String name;
+    private final List<String> roles = Lists.newArrayList();
+
+    public AuthenticationRequestAbstract(final String name) {
+        this.name = name;
+    }
+
+    @Override
+    public String getName() {
+        return name;
+    }
+
+    @Override
+    public List<String> getRoles() {
+        return Collections.unmodifiableList(roles);
+    }
+
+    @Override
+    public void setRoles(final List<String> roles) {
+        this.roles.clear();
+        this.roles.addAll(roles);
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/6de87443/framework/core/metamodel/src/main/java/org/apache/isis/core/runtime/authentication/AuthenticationRequestPassword.java
----------------------------------------------------------------------
diff --git a/framework/core/metamodel/src/main/java/org/apache/isis/core/runtime/authentication/AuthenticationRequestPassword.java b/framework/core/metamodel/src/main/java/org/apache/isis/core/runtime/authentication/AuthenticationRequestPassword.java
new file mode 100644
index 0000000..636ef21
--- /dev/null
+++ b/framework/core/metamodel/src/main/java/org/apache/isis/core/runtime/authentication/AuthenticationRequestPassword.java
@@ -0,0 +1,35 @@
+/*
+ *  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 org.apache.isis.core.runtime.authentication;
+
+public class AuthenticationRequestPassword extends AuthenticationRequestAbstract {
+
+    private final String password;
+
+    public AuthenticationRequestPassword(final String name, final String password) {
+        super(name);
+        this.password = password;
+    }
+
+    public String getPassword() {
+        return password;
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/6de87443/framework/core/metamodel/src/main/java/org/apache/isis/core/runtime/authentication/RegistrationDetails.java
----------------------------------------------------------------------
diff --git a/framework/core/metamodel/src/main/java/org/apache/isis/core/runtime/authentication/RegistrationDetails.java b/framework/core/metamodel/src/main/java/org/apache/isis/core/runtime/authentication/RegistrationDetails.java
new file mode 100644
index 0000000..23ed0e2
--- /dev/null
+++ b/framework/core/metamodel/src/main/java/org/apache/isis/core/runtime/authentication/RegistrationDetails.java
@@ -0,0 +1,23 @@
+/*
+ *  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 org.apache.isis.core.runtime.authentication;
+
+public interface RegistrationDetails {
+
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/6de87443/framework/core/metamodel/src/main/java/org/apache/isis/core/runtime/authentication/standard/AuthenticationManagerStandard.java
----------------------------------------------------------------------
diff --git a/framework/core/metamodel/src/main/java/org/apache/isis/core/runtime/authentication/standard/AuthenticationManagerStandard.java b/framework/core/metamodel/src/main/java/org/apache/isis/core/runtime/authentication/standard/AuthenticationManagerStandard.java
new file mode 100644
index 0000000..c75dc81
--- /dev/null
+++ b/framework/core/metamodel/src/main/java/org/apache/isis/core/runtime/authentication/standard/AuthenticationManagerStandard.java
@@ -0,0 +1,279 @@
+/*
+ *  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 org.apache.isis.core.runtime.authentication.standard;
+
+import static org.apache.isis.core.commons.ensure.Ensure.ensureThatArg;
+import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.CoreMatchers.notNullValue;
+
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+
+import com.google.common.collect.Collections2;
+import com.google.common.collect.Lists;
+import com.google.common.collect.Maps;
+
+import org.apache.isis.core.commons.authentication.AuthenticationSession;
+import org.apache.isis.core.commons.config.IsisConfiguration;
+import org.apache.isis.core.commons.debug.DebugBuilder;
+import org.apache.isis.core.commons.debug.DebuggableWithTitle;
+import org.apache.isis.core.commons.exceptions.IsisException;
+import org.apache.isis.core.commons.lang.ToString;
+import org.apache.isis.core.runtime.authentication.AuthenticationManager;
+import org.apache.isis.core.runtime.authentication.AuthenticationRequest;
+import org.apache.isis.core.runtime.authentication.RegistrationDetails;
+
+public class AuthenticationManagerStandard implements AuthenticationManager, DebuggableWithTitle {
+
+    private final Map<String, String> userByValidationCode = Maps.newHashMap();
+
+    /**
+     * Not final because may be set {@link #setAuthenticators(List)
+     * programmatically}.
+     */
+    private List<Authenticator> authenticators = Lists.newArrayList();
+
+    private RandomCodeGenerator randomCodeGenerator;
+    private final IsisConfiguration configuration;
+
+    // //////////////////////////////////////////////////////////
+    // constructor
+    // //////////////////////////////////////////////////////////
+
+    public AuthenticationManagerStandard(final IsisConfiguration configuration) {
+        this.configuration = configuration;
+    }
+
+    // //////////////////////////////////////////////////////////
+    // init
+    // //////////////////////////////////////////////////////////
+
+    /**
+     * Will default the {@link #setRandomCodeGenerator(RandomCodeGenerator)
+     * RandomCodeGenerator}, but {@link Authenticator}(s) must have been
+     * {@link #addAuthenticator(Authenticator) added} or
+     * {@link #setAuthenticators(List) injected}.
+     */
+    @Override
+    public final void init() {
+        defaultRandomCodeGeneratorIfNecessary();
+        addDefaultAuthenticators();
+        if (authenticators.size() == 0) {
+            throw new IsisException("No authenticators specified");
+        }
+        for (final Authenticator authenticator : authenticators) {
+            authenticator.init();
+        }
+    }
+
+    private void defaultRandomCodeGeneratorIfNecessary() {
+        if (randomCodeGenerator == null) {
+            randomCodeGenerator = new RandomCodeGenerator10Chars();
+        }
+    }
+
+    /**
+     * optional hook method
+     */
+    protected void addDefaultAuthenticators() {
+    }
+
+    @Override
+    public void shutdown() {
+        for (final Authenticator authenticator : authenticators) {
+            authenticator.shutdown();
+        }
+    }
+
+    // //////////////////////////////////////////////////////////
+    // Session Management (including authenticate)
+    // //////////////////////////////////////////////////////////
+
+    @Override
+    public synchronized final AuthenticationSession authenticate(final AuthenticationRequest request) {
+        if (request == null) {
+            return null;
+        }
+
+        final Collection<Authenticator> compatibleAuthenticators = Collections2.filter(authenticators, AuthenticatorFuncs.compatibleWith(request));
+        if (compatibleAuthenticators.size() == 0) {
+            throw new NoAuthenticatorException("No authenticator available for processing " + request.getClass().getName());
+        }
+        for (final Authenticator authenticator : compatibleAuthenticators) {
+            final AuthenticationSession authSession = authenticator.authenticate(request, getUnusedRandomCode());
+            if (authSession != null) {
+                userByValidationCode.put(authSession.getValidationCode(), authSession.getUserName());
+                return authSession;
+            }
+        }
+        return null;
+    }
+
+    private String getUnusedRandomCode() {
+        String code;
+        do {
+            code = randomCodeGenerator.generateRandomCode();
+        } while (userByValidationCode.containsKey(code));
+
+        return code;
+    }
+
+    @Override
+    public final boolean isSessionValid(final AuthenticationSession session) {
+        final String userName = userByValidationCode.get(session.getValidationCode());
+        return session.hasUserNameOf(userName);
+    }
+
+    @Override
+    public void closeSession(final AuthenticationSession session) {
+        userByValidationCode.remove(session.getValidationCode());
+    }
+
+    // //////////////////////////////////////////////////////////
+    // Authenticators
+    // //////////////////////////////////////////////////////////
+
+    /**
+     * Adds an {@link Authenticator}.
+     * 
+     * <p>
+     * Use either this or alternatively {@link #setAuthenticators(List) inject}
+     * the full list of {@link Authenticator}s.
+     */
+    public final void addAuthenticator(final Authenticator authenticator) {
+        authenticators.add(authenticator);
+    }
+
+    /**
+     * Adds an {@link Authenticator} to the start of the list (not API).
+     */
+    protected void addAuthenticatorToStart(final Authenticator authenticator) {
+        authenticators.add(0, authenticator);
+    }
+
+    /**
+     * Provide direct injection.
+     * 
+     * <p>
+     * Use either this or programmatically
+     * {@link #addAuthenticator(Authenticator)}.
+     */
+    public void setAuthenticators(final List<Authenticator> authenticators) {
+        this.authenticators = authenticators;
+    }
+
+    public List<Authenticator> getAuthenticators() {
+        return Collections.unmodifiableList(authenticators);
+    }
+
+    // //////////////////////////////////////////////////////////
+    // register
+    // //////////////////////////////////////////////////////////
+
+    @Override
+    public boolean register(final RegistrationDetails registrationDetails) {
+        for (final Registrar registrar : getRegistrars()) {
+            if (registrar.canRegister(registrationDetails.getClass())) {
+                return registrar.register(registrationDetails);
+            }
+        }
+        return false;
+    }
+
+    @Override
+    public boolean supportsRegistration(final Class<? extends RegistrationDetails> registrationDetailsClass) {
+        for (final Registrar registrar : getRegistrars()) {
+            if (registrar.canRegister(registrationDetailsClass)) {
+                return true;
+            }
+        }
+        return false;
+    }
+
+    public List<Registrar> getRegistrars() {
+        return asAuthenticators(getAuthenticators());
+    }
+
+    private static List<Registrar> asAuthenticators(final List<Authenticator> authenticators2) {
+        final List<Registrar> registrars = Lists.transform(authenticators2, Registrar.AS_REGISTRAR_ELSE_NULL);
+        return Lists.newArrayList(Collections2.filter(registrars, Registrar.NON_NULL));
+    }
+
+    // //////////////////////////////////////////////////////////
+    // RandomCodeGenerator
+    // //////////////////////////////////////////////////////////
+
+    /**
+     * The {@link RandomCodeGenerator} in use.
+     */
+    public RandomCodeGenerator getRandomCodeGenerator() {
+        return randomCodeGenerator;
+    }
+
+    /**
+     * For injection; will {@link #defaultRandomCodeGeneratorIfNecessary()
+     * default} otherwise.
+     */
+    public void setRandomCodeGenerator(final RandomCodeGenerator randomCodeGenerator) {
+        ensureThatArg(randomCodeGenerator, is(notNullValue()), "randomCodeGenerator cannot be null");
+        this.randomCodeGenerator = randomCodeGenerator;
+    }
+
+    // //////////////////////////////////////////////////////////
+    // Debugging
+    // //////////////////////////////////////////////////////////
+
+    @Override
+    public String debugTitle() {
+        return "Authentication Manager";
+    }
+
+    @Override
+    public void debugData(final DebugBuilder debug) {
+        debug.appendTitle("Authenticators");
+        for (final Authenticator authenticator : authenticators) {
+            debug.appendln(authenticator.toString());
+        }
+
+        debug.appendTitle("Users");
+        for (final String userName : userByValidationCode.values()) {
+            debug.appendln(userName);
+        }
+    }
+
+    @Override
+    public String toString() {
+        final ToString str = ToString.createAnonymous(this);
+        str.append("authenticators", authenticators.size());
+        str.append("users", userByValidationCode.size());
+        return str.toString();
+    }
+
+    // //////////////////////////////////////////////////////////
+    // Injected (constructor)
+    // //////////////////////////////////////////////////////////
+
+    protected IsisConfiguration getConfiguration() {
+        return configuration;
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/6de87443/framework/core/metamodel/src/main/java/org/apache/isis/core/runtime/authentication/standard/AuthenticationManagerStandardInstallerAbstract.java
----------------------------------------------------------------------
diff --git a/framework/core/metamodel/src/main/java/org/apache/isis/core/runtime/authentication/standard/AuthenticationManagerStandardInstallerAbstract.java b/framework/core/metamodel/src/main/java/org/apache/isis/core/runtime/authentication/standard/AuthenticationManagerStandardInstallerAbstract.java
new file mode 100644
index 0000000..b62e6f9
--- /dev/null
+++ b/framework/core/metamodel/src/main/java/org/apache/isis/core/runtime/authentication/standard/AuthenticationManagerStandardInstallerAbstract.java
@@ -0,0 +1,60 @@
+/*
+ *  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 org.apache.isis.core.runtime.authentication.standard;
+
+import java.util.List;
+
+import org.apache.isis.core.commons.config.InstallerAbstract;
+import org.apache.isis.core.commons.config.IsisConfiguration;
+import org.apache.isis.core.runtime.authentication.AuthenticationManager;
+import org.apache.isis.core.runtime.authentication.AuthenticationManagerInstaller;
+
+public abstract class AuthenticationManagerStandardInstallerAbstract extends InstallerAbstract implements AuthenticationManagerInstaller {
+
+    public AuthenticationManagerStandardInstallerAbstract(final String name) {
+        super(AuthenticationManagerInstaller.TYPE, name);
+    }
+
+    @Override
+    public final AuthenticationManager createAuthenticationManager() {
+        final AuthenticationManagerStandard authenticationManager = createAuthenticationManagerStandard();
+        for (final Authenticator authenticator : createAuthenticators(getConfiguration())) {
+            authenticationManager.addAuthenticator(authenticator);
+        }
+        return authenticationManager;
+    }
+
+    protected AuthenticationManagerStandard createAuthenticationManagerStandard() {
+        return new AuthenticationManagerStandard(getConfiguration());
+    }
+
+    /**
+     * Hook method
+     * 
+     * @return
+     */
+    protected abstract List<Authenticator> createAuthenticators(final IsisConfiguration configuration);
+
+    @Override
+    public List<Class<?>> getTypes() {
+        return listOf(AuthenticationManager.class);
+    }
+
+}