You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2015/09/03 14:32:59 UTC

[68/87] [abbrv] isis git commit: ISIS-1194: mothballing "site" resources (everything under ./src).

http://git-wip-us.apache.org/repos/asf/isis/blob/11645b5f/mothballed/src/site/apt/quick-start.apt.vm
----------------------------------------------------------------------
diff --git a/mothballed/src/site/apt/quick-start.apt.vm b/mothballed/src/site/apt/quick-start.apt.vm
new file mode 100644
index 0000000..7121f1f
--- /dev/null
+++ b/mothballed/src/site/apt/quick-start.apt.vm
@@ -0,0 +1,320 @@
+~~  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.
+
+
+
+Where to Start?
+
+  The quickest way to get started with <Apache Isis> is to run the 
+  quickstart archetype.
+  
+  Create a new directory, and 'cd' into that directory.   Then run the 
+  following command:
+
++------------------------------------------------------------
+mvn archetype:generate  \
+    -D archetypeGroupId=org.apache.isis \
+    -D archetypeArtifactId=quickstart-archetype \
+    -D archetypeVersion=${project.version} \
+    -D groupId=com.mycompany \
+    -D artifactId=myapp
++------------------------------------------------------------
+
+  where:
+  
+  * groupId represents your own organization, and
+  
+  * artifactId is a unique identifier for this app within your organization.
+
+  []
+
+  You'll then be prompted for some further properties (which you can generally leave as the default):
+  
+  * enter a version, eg 1.0-SNAPSHOT
+    
+  * enter a package
+    
+  * Confirm the entry
+    
+  []
+  
+  The archetype generation process will then run; it only takes a few seconds.
+
+  Switch into the root directory of your newly generated app:
+
++------------------------------------------------------------
+cd myapp   
++------------------------------------------------------------
+  
+  where 'myapp' is the artifactId entered above.
+
+
+App Structure
+  
+  The generated app is a very simple application consisting of a single domain 
+  object for tracking to-do items.  The intention is not to showcase all of
+  Isis' capabilities; rather it is to allow you to very easily modify the
+  generated application (eg rename "ToDoItem" to "Customer") without having 
+  to waste time deleting lots of generated code.
+  
+*------------------------+-------------------------------------------------------------+
+| Module                 | Description                                                 |
+*------------------------+-------------------------------------------------------------+
+| myapp                  | The parent (aggregator) module                              |
+*------------------------+-------------------------------------------------------------+
+| myapp-dom              | The domain object model, consisting of ToDoItem and         |
+|                        | ToDoItems (repository) interface.                           |
+*------------------------+-------------------------------------------------------------+
+| myapp-fixture          | Domain object fixtures used for initializing the system     |
+|                        | when being demo'ed or for unit testing.                     |
+*------------------------+-------------------------------------------------------------+
+| myapp-objstore-dflt    | Implementation of ToDoItems repository, for the default     |
+|                        | (in-memory) object store.                                   |
+*------------------------+-------------------------------------------------------------+
+| myapp-objstore-mongodb | Implementation of ToDoItems repository, for the             |
+|                        | NoSQL MongoDB object store.                                 |
+*------------------------+-------------------------------------------------------------+
+| myapp-objstore-sql     | Implementation of ToDoItems repository, for the             |
+|                        | SQL object store.                                           |
+*------------------------+-------------------------------------------------------------+
+| myapp-tests-bdd        | Run domain object tests using Isis'                         |
+|                        | {{{./viewer/bdd/index.html}integration}} with the           |
+|                        | {{{http://concordion.org}Concordion}} BDD framework         |
+*------------------------+-------------------------------------------------------------+
+| myapp-tests-junit      | Run domain object tests using Isis'                         |
+|                        | {{{./viewer/junit/index.html}custom test runner}}           |
+|                        | for {{{http://junit.org}JUnit}} runner                      |
+*------------------------+-------------------------------------------------------------+
+| myapp-webapp           | Run as a webapp (from web.xml) using either the             |
+|                        | {{{./viewer/html/index.html}HTML viewer}}, the              |
+|                        | {{{./viewer/scimpi/index.html}Scimpi viewer}}, or the       |
+|                        | {{{./viewer/json/index.html}JSON (RESTful) viewer}}.        |
+|                        | Also includes a simple demo mobile app using the JSON viewer|
+*------------------------+-------------------------------------------------------------+
+
+  Out of the box the generated app is configured to run with the support the default 
+  in-memory object store, but can easily be configured to work with the NoSQL or the
+  SQL object stores.  The app includes an index.html with further information on this.
+  And, you can always ask for help on the 
+  {{{mailto:isis-users@incubator.apache.org}isis-users}} mailing list.    
+
+Compiling the App
+
+  Start off by using maven to compile the app:
+  
++------------------------------------------------------------
+mvn clean install
++------------------------------------------------------------
+  
+  All being well, the application should compile.  This may take a little
+  while for the first time as modules are brought down from the remote
+  repo.  
+
+Running the webapp
+
+  Now that you've built the application, it's time to run it.  You've a few options.
+
+  The first is to run the self-hosting version version of the WAR file.  This is the
+  as the regular WAR, but includes an embedded jetty webserver.  It can be run either
+  from Maven:     
+  
++------------------------------------------------------------
+mvn antrun:run
++------------------------------------------------------------
+
+  Or you can just run using java -jar: 
+
++------------------------------------------------------------
+java -jar webapp/target/myapp-webapp-1.0.0-SNAPSHOT-jetty-console.war
++------------------------------------------------------------
+  
+  Either way, this is great if you want to distribute your app as a prototype.
+  
+  Alternatively, you can also run using Maven's Jetty plugin:
+  
++------------------------------------------------------------
+cd webapp
+mvn jetty:run
++------------------------------------------------------------
+    
+
+  The webapp is configured to support two of Isis' viewers, the {{{./viewer/html/index.html}HTML viewer}}
+  and the {{{./viewer/json/index.html}JSON (RESTful) viewer}}.  
+
+Accessing the webapp
+  
+  Browse to the <a href="http://localhost:8080">index page</a> for details of how to access
+  the configured viewers. 
+
+  Security (authentication) is configurable within Isis, and is enabled.  You can log in using
+  the username/password of sven/pass.
+  
+  []
+      
+Running the app's JUnit tests
+
+  <Isis> provides the means to test domain object logic using a 
+  {{{./viewer/junit/index.html}custom runner}} for {{{http://junit.org}JUnit}}.
+
+  To run the tests, use:
+
++------------------------------------------------------------
+cd tests-junit
+mvn test
++------------------------------------------------------------
+
+Running the app's BDD (Concordion) tests
+
+  <Isis> also provides the means to test domain object logic using an 
+  {{{./viewer/bdd/index.html}integration}} with the
+  {{{http://concordion.org}Concordion}} BDD framework.
+  
+  Concordion tests are written as XHTML; the Concordion framework then uses
+  annotations within the XHTML to call into (what Concordion calls) "fixture" 
+  code, written in Java.  The tests can be found in 
+  <<<src/test/resources/viewer/bdd/stories>>> (in the tests-bdd module).   
+  
+  Normally the developer would need to write the fixtures called by Concordion.  
+  The Isis integration however provides these fixtures already, so using
+  BDD testing in Concordion/Isis amounts to annotating the XHTML to call the
+  pre-defined fixtures (eg to invoke an action or check the value of a 
+  property). 
+  
+  To run the tests, use:
+  
++------------------------------------------------------------
+cd tests-bdd
+mvn test
++------------------------------------------------------------
+
+    Concordion itself integrates with JUnit, so as you can see the tests 
+    are run in the usual way.
+  
+  []
+
+  As a byproduct of running the tests, Concordion generates output HTML which
+  are marked up versions of the the original scenarios.  The idea is to make it easy 
+  for a (non-technical) stakeholder to view the outcome of the tests.
+  The location of this output HTML should be printed to the console; the default
+  location is <<</tmp/concordion/viewer/bdd/stories>>>.  
+
+
+Import into an IDE
+
+  You can use any IDE that supports Maven; the <Isis> committers tend to use
+  Eclipse 3.7 (with built-in Maven support through the m2e feature) or the 
+  earlier {{{http://m2eclipse.sonatype.org}m2eclipse}} plugin.  
+  NetBeans and IntelliJ are equally as good, though, at supporting Maven.
+
+  In Eclipse, use File > Import > Maven > Existing Maven Project, and navigate
+  to the root (myapp) directory.
+  
+
+Exploring the App
+
+  As already noted, the application consists of a very simple domain model
+  consisting for a task manager app, consisting of a single domain object,
+  <<<ToDoItem>>>, and a single repository, <<<ToDoItems>>>.
+  
+  * open up <<<ToDoItem>>> and <<<ToDoItems>>> (in the dom module, under src/main/java)
+  
+  * open up <<<ToDoItemsFixture>>> (in the fixture module)
+  
+    This is used to initialize the in-memory object store between runs.
+    
+  * open up <<<ToDoItemsDefault>>> (in the objstore-dflt module)
+  
+    This is an implementation of the repository that delegates to the in-memory 
+    object store
+    
+  * open up the <<<isis.properties>>> file, used to bootstrap Isis.
+  
+    You'll find this file either in the <<<WEB-INF>>> directory in the webapp module.
+    
+    The most important item in this file is the <isis.services> key, which points
+    to the repository implementation(s). 
+
+  []
+    
+Running the app from within Eclipse (3.7)
+
+  To run each of the viewers in Eclipse:
+  
+  * to run the webapp, go to the <<<webapp/ide/eclipse/launch>>> directory and then use Run As > quickstart_webapp.launch.
+  
+  * to run the JUnit tests, go to the tests-junit module and use Eclipse's built-in JUnit support to run the tests
+  
+  * to run the BDD (Concordion) tests, go to the tests-bdd module and use Eclipse's built-in JUnit support to run the tests
+  
+   []
+
+  The archetype currently does not provide equivalent configuration for other IDEs.  
+  However, if you open the Eclipse <<<.launch>>> file 
+  you'll see that all we are doing is running <<<org.apache.isis.Isis>>> with some 
+  command line arguments, so hopefully this is easy enough to reproduce in
+  other IDEs.
+  
+  Alternatively, you can use those IDE's in-built support for Maven and have them execute the same Maven goals 
+  (as documented above) that are used from the command-line.  
+    
+  []
+
+
+Where Next?
+
+  <<Your first port of call should be the {{{./applib/docbkx/pdf/isis-applib.pdf}applib}}  
+  documentation>>.  This describes how to go about writing a domain application following
+  Isis' programming model.  The {{{./IsisCheatSheet.pdf}cheat sheet}} acts as a handy
+  reference.
+
+  To speed up your coding we provide some templates and other help for IDEs; 
+  check out the {{{./ide-support.html}IDE support}} page.  You should also check out
+  the {{{./icons.html}icons}} that we make available. 
+  
+  And after that, think about how you could use Isis:
+  
+  * to {{{./use-cases/develop.html}develop prototypes}}
+  
+  * to {{{./use-cases/specify-and-test.html}develop tested domain models...}}
+  
+  * to {{{./use-cases/deploy-own-framework.html} deploy on your own framework}}
+  
+  * to {{{./use-cases/deploy-as-rest.html} deploy as a RESTful web service}}
+  
+  * to {{{./use-cases/deploy-as-webapp.html} deploy as a webapp}}
+
+What else is there?  
+  
+  In terms of further documentation, you probably should look through the 
+  {{{./core/docbkx/pdf/isis-core.pdf}core}}
+  documentation.  This provides more detail on the design and architecture of Isis, along
+  with the key APIs.
+  
+  Once you have an understanding of those APIs, you'll probably want to delve into individual
+  implementations of the APIs, such as the programming model, security, viewers or the
+  runtime (persistence).  To keep things manageable, all <Isis> documentation about these 
+  components is scoped closest along with that component.  That means that any given documentation 
+  is likely to have just the information you require to use or configure that component 
+  (it also makes it easier for us to maintain those documents).
+  
+  You'll find documentation for all of these components {{{./documentation.html}here}}.
+
+  And in the future, we also hope to provide a selection of off-the-shelf domain 
+  services and value types integrations for you to reuse; these will be hosted
+  within a "domain" library. (Until then, why not contribute some of your own ? ;-).
+   
+  []

http://git-wip-us.apache.org/repos/asf/isis/blob/11645b5f/mothballed/src/site/apt/roadmap.apt
----------------------------------------------------------------------
diff --git a/mothballed/src/site/apt/roadmap.apt b/mothballed/src/site/apt/roadmap.apt
new file mode 100644
index 0000000..75ffd74
--- /dev/null
+++ b/mothballed/src/site/apt/roadmap.apt
@@ -0,0 +1,26 @@
+~~  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.
+
+
+Roadmap
+
+  The roadmap for Isis is currently as defined in the original Isis
+  {{{http://wiki.apache.org/incubator/IsisProposal}proposal}} to the
+  Apache incubator.
+  
+  
+ 
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/11645b5f/mothballed/src/site/apt/screencasts.apt
----------------------------------------------------------------------
diff --git a/mothballed/src/site/apt/screencasts.apt b/mothballed/src/site/apt/screencasts.apt
new file mode 100644
index 0000000..5b7354f
--- /dev/null
+++ b/mothballed/src/site/apt/screencasts.apt
@@ -0,0 +1,55 @@
+~~  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.
+
+
+ -----
+ Screencasts
+ -----
+
+  The following screencasts are available:
+
+%{toc}
+
+
+===
+
+{Setting up the Development Environment}
+
+%{snippet|verbatim=false|file=src/site/resources/screencasts/youtube-setting-up-the-development-environment.html}
+
+
+===
+
+{Download and Build}
+  
+%{snippet|verbatim=false|file=src/site/resources/screencasts/youtube-download-and-build.html}
+
+  
+
+===
+
+{Setting up Eclipse}
+
+%{snippet|verbatim=false|file=src/site/resources/screencasts/youtube-setting-up-eclipse.html}
+
+
+===
+
+{Importing into Eclipse}    
+  
+%{snippet|verbatim=false|file=src/site/resources/screencasts/youtube-importing-into-eclipse.html}
+

http://git-wip-us.apache.org/repos/asf/isis/blob/11645b5f/mothballed/src/site/apt/use-cases/deploy-as-rest.apt
----------------------------------------------------------------------
diff --git a/mothballed/src/site/apt/use-cases/deploy-as-rest.apt b/mothballed/src/site/apt/use-cases/deploy-as-rest.apt
new file mode 100644
index 0000000..85883fc
--- /dev/null
+++ b/mothballed/src/site/apt/use-cases/deploy-as-rest.apt
@@ -0,0 +1,53 @@
+~~  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.
+
+Deploy <Isis> as a RESTful web service
+
+  {{{http://en.wikipedia.org/wiki/Representational_state_transfer}REST}}
+  (Representation State Transfer) is an architectural style for building
+  highly scalable distributed systems, using the same principles as the
+  World Wide Web.  Many commercial web APIs (twitter, facebook, Amazon)
+  are implemented as either pure REST APIs or some approximation therein.
+  
+  The {{{http://restfulobjects.org}Restful Objects}} specification defines
+  a means by a domain object model can be exposed as RESTful resources
+  using JSON representations over HTTP.  {{{../viewer/restfulobjects/index.html}RestfulObjects for Isis}},
+  an Isis viewer, is an implementation of that spec, making any Isis domain object automatically
+  available via REST.
+  
+  There are two main use cases for deploying Isis as a RESTful web service are:
+  
+  * to allow a custom UI to be built against the RESTful API
+  
+    For example, using Javascript/JQuery, or an RIA technology such as Flex, JavaFX, Silverlight
+    
+  * to enable integration between systems
+  
+    REST is designed to be machine-readable, and so is an excellent choice for synchronous
+    data interchange scenarios.   It can also be of use for system migrations (by wrapping
+    old and new systems in REST, and using HTTP 301 redirects back to the client).
+  
+* {Isis persistence}
+
+  The easiest way to deploy Isis as a RESTful web service is using Isis' own persistence
+  mechanisms.  These are provided by the {{{../runtimes/dflt/index.html}default runtime}}, and
+  offer in turn a number of {{{../runtimes/dflt/objectstores/index.html}object stores}}.
+  
+* {Custom persistence}
+
+  Isis persistence API is pluggable, so if it does not provide the integration already then
+  you could implementing to its object store API.

http://git-wip-us.apache.org/repos/asf/isis/blob/11645b5f/mothballed/src/site/apt/use-cases/deploy-as-webapp.apt
----------------------------------------------------------------------
diff --git a/mothballed/src/site/apt/use-cases/deploy-as-webapp.apt b/mothballed/src/site/apt/use-cases/deploy-as-webapp.apt
new file mode 100644
index 0000000..67a5d7f
--- /dev/null
+++ b/mothballed/src/site/apt/use-cases/deploy-as-webapp.apt
@@ -0,0 +1,51 @@
+~~  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.
+
+Deploy <Isis> as an auto-generated webapp
+
+  One of the original motivations for Isis itself was to be able 
+  automatically generate a user interface for a domain object model.
+  
+  The {{{../viewer/html/index.html}HTML viewer}} provides a straight-forward 
+  webapp for a domain model, but is one that nonetheless provides access and 
+  honours all of the business logic that may be encoded within those domain objects.  
+  The HTML viewer makes minimal use of Javascript, as it was originally written
+  to comply with governmental standards that forbid the use of such.  The
+  viewer supports customization only to the extent that its CSS can be changed.
+
+  If you need something a little more sophisticated, then the 
+  {{{../viewer/scimpi/index.html}Scimpi viewer}} provides a similar webapp user interface,
+  but one that allows the views of objects to be progressively enhanced as required.
+  The programming model is akin to JSF, with a set of tags indicating the contents
+  of the custom views.
+  
+* {Isis persistence}
+
+  The easiest way to deploy Isis with the HTML viewer is using Isis' own persistence
+  mechanisms.  These are provided by the {{{../runtimes/dflt/index.html}default runtime}}, and
+  offer in turn a number of {{{../runtimes/dflt/objectstores/index.html}object stores}}.
+
+* {Custom persistence}
+
+  Isis persistence API is pluggable, so if it does not provide the integration already then
+  you could implementing to its object store API.
+   
+* {Other Viewers}
+
+  Note that Isis does have a number of other (human-usable) viewers.  See 
+  {{{../viewer/index.html#Other_viewers}other viewers}} for details. 
+  

http://git-wip-us.apache.org/repos/asf/isis/blob/11645b5f/mothballed/src/site/apt/use-cases/deploy-own-framework.apt
----------------------------------------------------------------------
diff --git a/mothballed/src/site/apt/use-cases/deploy-own-framework.apt b/mothballed/src/site/apt/use-cases/deploy-own-framework.apt
new file mode 100644
index 0000000..4c86262
--- /dev/null
+++ b/mothballed/src/site/apt/use-cases/deploy-own-framework.apt
@@ -0,0 +1,79 @@
+~~  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.
+
+Deploy <Isis> domain model on your own Framework
+
+  The {{{../applib/index.html}programming model}} defined by Isis deliberately minimizes
+  the dependencies on the rest of the framework.  In fact, the only hard dependency
+  that the domain model classes have on Isis is through the <<<org.apache.isis.applib>>> 
+  classes, mostly to pick up annotations such as {{{../applib/xref/org/apache/isis/applib/annotation/Disabled.html}@Disabled}}.  
+  The idea is to make it easy to be able to write take a domain object {{{./develop.html}prototyped}} 
+  and/or {{{./specify-and-test.html}tested}} using Isis, but to deploy on some
+  other framework's runtime.
+  
+  If you are interested in taking this approach, note that there is one important
+  interface that must be implemented by your own framework, namely
+  {{{../applib/xref/org/apache/isis/applib/DomainObjectContainer.html}DomainObjectContainer}}.  
+  This interface represents the one-and-only "touchpoint" between the domain objects and the runtime.
+  If you inspect the methods then you'll see it covers such concerns as persistence, and of
+  raising warnings or errors.
+  
+  Isis' own runtime injects an (implementation of this) interface into each and every domain
+  object.  You will likely need to do something similar within your own framework, (or come up with an equivalent
+  mechanism, eg Service Locator pattern).
+  
+  Note also that although Isis does define a convenience superclass <<<AbstractDomainObject>>>, 
+  isn't necessary for domain objects to inherit from it.  In fact, the main purpose of this superclass
+  is to provide delegate methods to the injected <<<DomainObjectContainer>>>.
+  
+* {Custom UI}
+
+  One of the main reasons for going down the custom framework route is to have full control over the
+  user interface, but it does beg the question: why bother with Isis at all?
+  
+  The answer is that using Isis to write your domain objects will: 
+  
+  * allow you to build a better/richer/deeper domain model more quickly.
+    
+    The key to better domain models is stakeholder feedback.  You can use Isis to spike out prototypes, and 
+    then feedback the results of the insights gained from those prototypes into more formal development 
+    in your actual runtime framework. 
+  
+  * enforce proper architectural layering.
+  
+    Isis only lets business logic to be written in domain objects.  Using Isis for your domain model 
+    helps prevent business logic creeping into adjacent layers.
+
+  That said, it is also possible to deploy Isis as a {{{./deploy-as-rest.html}REST webservice}}, so you
+  could choose to implement a custom UI (eg in HTML5) that calls back to an Isis backend. 
+  
+* {Custom persistence}
+
+  Another reason for choosing the custom framework is full control over persistence.  That is, you can
+  use whichever persistence technology you prefer, not just those that have been integrated by Isis.
+  
+  That said, Isis has a pluggable persistence API, so you could integrate to some other persistence
+  mechanism by implementing to this API.
+  
+* Embedded Runtime
+
+  Even if you choose to deploy on your own framework, you may want to explore Isis
+  {{{../runtimes/embedded/index.html}Embedded Runtime}} module. This allows the Isis metamodel to be
+  instantiated standalone from the rest of the framework.  Using this you could, for example, roll-your-own
+  generic UI; or you could integrate with other UI frameworks (such as {{{http://metawidget.org}MetaWidget}})
+  that do a lot of the heavy lifting for you.
+  
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/11645b5f/mothballed/src/site/apt/use-cases/develop.apt
----------------------------------------------------------------------
diff --git a/mothballed/src/site/apt/use-cases/develop.apt b/mothballed/src/site/apt/use-cases/develop.apt
new file mode 100644
index 0000000..e8e4fa0
--- /dev/null
+++ b/mothballed/src/site/apt/use-cases/develop.apt
@@ -0,0 +1,63 @@
+~~  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.
+
+Use <Isis> for Prototyping and Development
+
+  Isis is great for rapid prototyping, because all you need to write
+  in order to get an application up-and-running is the domain model
+  objects.
+
+  By focussing just on the domain, you'll also find that you start to
+  develop a <ubiquitous language> - a set of terms and concepts that the
+  entire team (business and technologists alike) have a shared
+  understanding.
+  
+  Once you've sketched out your domain model, you can then either 
+  start-over using your preferred framework, or you might choose to 
+  take the domain model forward into more formal {{{./specify-and-test.html}specification
+  and testing}}.       
+  
+* {Isis programming model}
+
+  Isis defines a set of programming conventions - a programming model - from
+  which it infers the structure of your domain objects.
+  
+  This programming model is essentially POJOs, supplemented with a number of
+  annotations and method naming conventions.  It is fully documented in the 
+  Isis application library, (the {{{../applib/index.html}applib}}).  Most of the
+  important conventions are documented in the {{{../IsisCheatSheet.pdf}cheat sheet}}. 
+  
+* {Custom extensions}
+
+  As well as the conventions that Isis defines, you are free to also define your 
+  own programming conventions.  Each aspect - or facet - of the programming model is 
+  defined through the 
+  {{{./core/metamodel/xref/org/apache/isis/core/metamodel/facets/FacetFactory.html}FacetFactory}} 
+  API, and the set of active <<<FacetFactory>>>s is specified through the 
+  {{{./core/metamodel/xref/org/apache/isis/core/metamodel/progmodel/ProgrammingModel.html}ProgrammingModel}}
+  API.
+  
+  We expect that most developers won't bother to customise the programming model,
+  and even if you do, you'll probably just want to tweak Isis' defaults, rather than
+  replace them wholesale.  It's good to know you have the option though.  One reason
+  you might want to do this is to write domain models that are compatible with some
+  other framework.
+  
+  Isis customisability is also the basis by which the framework supports other programming
+  languages.  For example, the {{{../progmodels/groovy/index.html}Groovy}} progmodel allows
+  you to write your domain objects using the {{{http://groovy.codehaus.org}Groovy}} programming language.   
+  
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/11645b5f/mothballed/src/site/apt/use-cases/specify-and-test.apt
----------------------------------------------------------------------
diff --git a/mothballed/src/site/apt/use-cases/specify-and-test.apt b/mothballed/src/site/apt/use-cases/specify-and-test.apt
new file mode 100644
index 0000000..f1886b3
--- /dev/null
+++ b/mothballed/src/site/apt/use-cases/specify-and-test.apt
@@ -0,0 +1,103 @@
+~~  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.
+
+Specify and test your <Isis> domain model
+
+  If you decide to use <Isis> for more than just {{{./develop.html}prototyping}}, 
+  then you'll probably want to formally test your domain model.
+
+  <Isis> integrates with two testing frameworks to help you, Junit and Concordion.
+  Being able to test your domain models independently of the other gives you
+  confidence when you move onto deploying your application {{{./deploy-own-framework.html}as}} 
+  {{{./deploy-as-rest.html}you}} {{{./deploy-as-webapp.html}prefer}}.
+  
+* {JUnit integration}
+
+  <Isis> provides a JUnit test runner in order to integrate with {{{http://junit.org}JUnit}}.
+  This is provided through its {{{../viewer/junit/index.html}JUnit viewer}}.
+  
+  For example, the following (based on the quickstart archetype) tests
+  that a todo-item marked as complete cannot be marked as done once more.
+  
++-----------------------------------------------------------------
+@RunWith(IsisTestRunner.class)
+public class ToDoItemTest {
+
+    private ToDoItem toDoItem;
+
+    @Before
+    public void setUp() {
+        toDoItem = toDoItems.notYetDone().get(0);
+        toDoItem = wrapped(toDoItem);
+    }
+    
+    @Test
+    public void cannotMarkAsDoneTwice() throws Exception {
+        toDoItem.markAsDone();
+        try {
+            toDoItem.markAsDone();
+            fail("Should not been disabled");
+        } catch (DisabledException e) {
+            assertThat(e.getMessage(), is("Already done"));
+        }
+    }
+    
+    ...
+}
++-----------------------------------------------------------------
+  
+  The JUnit integration works by wrapping each domain object pojo in a proxy
+  object.  This proxy object is responsible for ensuring that the
+  underlying pojo is interacted with in the same way as it would were being
+  viewed in a regular Isis viewer.
+  
+  For example, the call to <<<markAsDone()>>> action is transparently 
+  prefaced by a check to ensure that the action is not disabled.  If the
+  action is disabled, then the proxy throws the DisabledException. 
+  
+  It might seem a little odd - given that there is no UI - to call Isis' JUnit 
+  integration a "viewer".  However, it does simulate what a viewer does, and 
+  fits into the same architectural layer as the other viewers.
+  
+* {BDD integration}
+
+  <Isis> also provides an integration with {{{http://concordion.org}Concordion}},
+  which is a BDD (behaviour-driven design) framework.  This is provided through its 
+  {{{../viewer/bdd/index.html}BDD viewer}}.
+  
+  The idea behind BDD is to allow a business stakeholder to describe the desired
+  behaviour of the system in non-technical terms, and then to gain feedback )as to
+  whether that behaviour has been implemented) in the similar way.
+  
+  Concordion's implementation of this idea is to capture the specification using
+  XHTML.  This XHTML is then annotated by the developer inline with corresponding Java methods. 
+  Concordion's own JUnit test runner parses the XHTML in order to call these methods, which
+  in turn interact with the system-under-test.  Running the test also generates a copy of the 
+  original XHTML, this time annotated to indicate the result (success or failure)
+  of the test.
+
+  Isis' integration with Concordion is to provide a pre-defined set of Java methods
+  in a test case, by which the domain model can be interacted in a regular way.  For example,
+  using these methods the analyst can assert on the results of invoking an action, or, indeed,
+  could assert that an action is disabled. 
+
+  One caveat with Isis' Concordion integration: Concordion itself uses {{{http://xom.nu}XOM}}, 
+  an XML library which is LGPL licensed.  LGPL is incompatible with the Apache license, which 
+  means we are unable to explicitly include XOM as a transient dependency.  You are free to use
+  the Concordion integration, but you should be aware that doing so will require you to
+  explicitly configure the use of this non-Apache dependency.  
+

http://git-wip-us.apache.org/repos/asf/isis/blob/11645b5f/mothballed/src/site/apt/who-we-are.apt
----------------------------------------------------------------------
diff --git a/mothballed/src/site/apt/who-we-are.apt b/mothballed/src/site/apt/who-we-are.apt
new file mode 100644
index 0000000..3607eef
--- /dev/null
+++ b/mothballed/src/site/apt/who-we-are.apt
@@ -0,0 +1,47 @@
+~~  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.
+
+
+Team
+
+  The table below lists the officers currently engaged with Apache Isis.
+  
+*----------------------+-----------------------+----------------------------------------------------------------------+
+|<<Who>>               |<<Role>>               |<<Contributions>>                                                     |    
+*----------------------+-----------------------+----------------------------------------------------------------------+
+|Dan Haywood           |PPMC, Committer        |Core, Default runtime, JSR-299 runtime, Wicket viewer,                |
+|                      |                       |Json viewer, BDD viewer, JUnit viewer, JPA objectstore             |
+|                      |                       |Wrapper progmodel, Groovy progmodel, site, docs, archetype            |
+*----------------------+-----------------------+----------------------------------------------------------------------+
+|Kevin Meyer           |PPMC, Committer        |Core, default runtime, SQL objectstore, Security                      |
+*----------------------+-----------------------+----------------------------------------------------------------------+
+|Robert Matthews       |PPMC, Committer        |Core, default runtime, DnD viewer, HTML viewer, Scimpi viewer,        |
+|                      |                       |XML objectstore, NoSQL objectstore, Remoting         | 
+*----------------------+-----------------------+----------------------------------------------------------------------+
+|Alexander Krasnukhin  |PPMC, Committer        |                                                                      |
+*----------------------+-----------------------+----------------------------------------------------------------------+
+|Dave Slaughter        |PPMC, Committer        |                                                                      |
+*----------------------+-----------------------+----------------------------------------------------------------------+
+|Mark Struberg         |PPMC, Champion, Mentor |                                                                      |
+*----------------------+-----------------------+----------------------------------------------------------------------+
+|Mohammed Nour El-Din  |PPMC, Mentor           |CI, release management                                                |
+*----------------------+-----------------------+----------------------------------------------------------------------+
+|Benson Marguiles      |PPMC, Mentor           |                                                                      |
+*----------------------+-----------------------+----------------------------------------------------------------------+
+|Siegfried Goeschl     |PPMC, Mentor           |                                                                      |
+*----------------------+-----------------------+----------------------------------------------------------------------+
+ 
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/11645b5f/mothballed/src/site/fml/TOREVIEW/faq.fml
----------------------------------------------------------------------
diff --git a/mothballed/src/site/fml/TOREVIEW/faq.fml b/mothballed/src/site/fml/TOREVIEW/faq.fml
new file mode 100644
index 0000000..5ebdae9
--- /dev/null
+++ b/mothballed/src/site/fml/TOREVIEW/faq.fml
@@ -0,0 +1,76 @@
+<?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.
+-->
+<faqs id="FAQ">
+  <part id="General">
+
+<faq id="prototyping">
+      <question>Can I use [[NAME]] to prototype an
+application that will be deployed on a different architecture?</question>
+      <answer>
+        <p>Absolutely - in fact most people start to use [[NAME]] initial for
+prototyping only and only later consider using it as a full deployment
+platform. The domain objects that you create for [[NAME]] are Plain
+Old Java Objects (POJOs) - they aren't tied to [[NAME]] in any way.
+So if you want to develop a hand-crafted user interface to invoke the
+objects' functionality, you can.</p>
+      </answer>
+    </faq>
+
+<faq id="what_applications">
+      <question>To what type of applications is [[NAME]]
+best (and worst!) suited?</question>
+      <answer>
+        <p>The auto-created user interfaces give the
+user a great deal of flexibility and control, but the corollary is that
+it does take a short while to get to know that user interface. So [[NAME]]
+Objects is best suited to the kind of in-house application that people
+use intensively; it is not at all suited to applications intended to be
+used by people with no training (for example a public web-site).
+However, per the previous question, there is nothing to stop you from
+developing a [[NAME]] application for internal users, then building
+a more conventional tightly-scripted interface to the same domain
+objects, for use by external parties.</p>
+      </answer>
+    </faq>
+
+<!--
+<faq id="what_pedigree">
+      <question>What's the history of [[NAME]]?</question>
+      <answer>
+        <p>... x-ref the DSFA case study here ....; history</p>
+      </answer>
+    </faq>
+-->
+
+
+    <faq id="security">
+      <question>How is security handled?</question>
+      <answer>
+        <p>[[NAME]] provides
+full support both for user authentication and authorisation. The user's
+role(s) may determine which classes of domain objects they may access,
+which properties, and which actions within those objects. This
+information may be administered via a simple file, LDAP, or relational
+database.</p>
+      </answer>
+    </faq>
+
+  </part>
+</faqs>

http://git-wip-us.apache.org/repos/asf/isis/blob/11645b5f/mothballed/src/site/resources/IsisCheatSheet.pdf
----------------------------------------------------------------------
diff --git a/mothballed/src/site/resources/IsisCheatSheet.pdf b/mothballed/src/site/resources/IsisCheatSheet.pdf
new file mode 100644
index 0000000..dcf342c
Binary files /dev/null and b/mothballed/src/site/resources/IsisCheatSheet.pdf differ

http://git-wip-us.apache.org/repos/asf/isis/blob/11645b5f/mothballed/src/site/resources/Pawson-Naked-Objects-thesis.pdf
----------------------------------------------------------------------
diff --git a/mothballed/src/site/resources/Pawson-Naked-Objects-thesis.pdf b/mothballed/src/site/resources/Pawson-Naked-Objects-thesis.pdf
new file mode 100644
index 0000000..aca07e4
Binary files /dev/null and b/mothballed/src/site/resources/Pawson-Naked-Objects-thesis.pdf differ

http://git-wip-us.apache.org/repos/asf/isis/blob/11645b5f/mothballed/src/site/resources/codequality/checkstyle.xml
----------------------------------------------------------------------
diff --git a/mothballed/src/site/resources/codequality/checkstyle.xml b/mothballed/src/site/resources/codequality/checkstyle.xml
new file mode 100644
index 0000000..6d7dbb7
--- /dev/null
+++ b/mothballed/src/site/resources/codequality/checkstyle.xml
@@ -0,0 +1,237 @@
+<?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="PackageHtml"/>
+         -->
+
+    <!-- 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"/>
+
+    <module name="TreeWalker">
+
+        <property name="cacheFile" value="${checkstyle.cache.file}"/>
+
+        <!-- ************************************************************** -->
+        <!-- Checks that are different from the sun coding conventions ones -->
+        <!-- ************************************************************** -->
+                <!-- 
+        <property name="tabWidth" value="4"/>
+        <module name="LeftCurly">
+          <property name="option" value="nl"/>
+        </module>
+        <module name="RightCurly">
+          <property name="option" value="alone"/>
+        </module>
+        <module name="MemberName">
+          <property name="format" value="^m_[a-z](_?[a-zA-Z0-9])*$"/>
+        </module>
+        <module name="StaticVariableName">
+          <property name="format" value="^c_[a-z](_?[a-zA-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 -->
+        <!-- 
+        <module name="JavadocMethod"/>
+        <module name="JavadocType"/>
+        <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"/>  <!-- defaults to sun.* packages -->
+        <!-- 
+        <module name="RedundantImport"/>
+        <module name="UnusedImports"/>
+         -->
+
+
+        <!-- Checks for Size Violations.                    -->
+        <!-- See http://checkstyle.sf.net/config_sizes.html -->
+        <!-- 
+        <module name="FileLength"/>
+        <module name="LineLength"/>
+        <module name="MethodLength"/>
+        <module name="ParameterNumber"/>
+         -->
+
+
+        <!-- Checks for whitespace                               -->
+        <!-- See http://checkstyle.sf.net/config_whitespace.html -->
+        <!-- 
+        <module name="EmptyForIteratorPad"/>
+        <module name="NoWhitespaceAfter"/>
+        <module name="NoWhitespaceBefore"/>
+        <module name="OperatorWrap"/>
+        <module name="ParenPad"/>
+        <module name="TabCharacter"/>
+        <module name="WhitespaceAfter"/>
+        <module name="WhitespaceAround"/>
+         -->
+
+
+        <!-- Modifier Checks                                    -->
+        <!-- See http://checkstyle.sf.net/config_modifiers.html -->
+        <!-- 
+        <module name="ModifierOrder"/>
+        <module name="RedundantModifier"/>
+         -->
+
+
+        <!-- Checks for blocks. You know, those {}'s         -->
+        <!-- See http://checkstyle.sf.net/config_blocks.html -->
+        <!-- 
+        <module name="AvoidNestedBlocks"/>
+        <module name="EmptyBlock"/>
+        
+        <module name="NeedBraces"/>
+         -->
+
+
+        <!-- Checks for common coding problems               -->
+        <!-- See http://checkstyle.sf.net/config_coding.html -->
+        <!-- 
+        <module name="AvoidInlineConditionals"/>
+        <module name="DoubleCheckedLocking"/>  
+        <module name="EmptyStatement"/>
+        <module name="EqualsHashCode"/>
+        <module name="HiddenField"/>
+        <module name="IllegalInstantiation"/>
+        <module name="InnerAssignment"/>
+        <module name="MagicNumber"/>
+        <module name="MissingSwitchDefault"/>
+        <module name="RedundantThrows"/>
+        <module name="SimplifyBooleanExpression"/>
+        <module name="SimplifyBooleanReturn"/>
+         -->
+
+        <!-- Checks for class design                         -->
+        <!-- See http://checkstyle.sf.net/config_design.html -->
+        <!-- 
+        <module name="DesignForExtension"/>
+        <module name="FinalClass"/>
+        <module name="HideUtilityClassConstructor"/>
+        <module name="InterfaceIsType"/>
+        <module name="VisibilityModifier"/>
+         -->
+
+
+        <!-- Miscellaneous other checks.                   -->
+        <!-- See http://checkstyle.sf.net/config_misc.html -->
+        <!-- 
+        <module name="ArrayTypeStyle"/>
+        <module name="FinalParameters"/>
+        <module name="GenericIllegalRegexp">
+            <property name="format" value="\s+$"/>
+            <property name="message" value="Line has trailing spaces."/>
+        </module>
+        <module name="TodoComment"/>
+        <module name="UpperEll"/>
+         -->
+
+    </module>
+
+</module>

http://git-wip-us.apache.org/repos/asf/isis/blob/11645b5f/mothballed/src/site/resources/codequality/pmd.xml
----------------------------------------------------------------------
diff --git a/mothballed/src/site/resources/codequality/pmd.xml b/mothballed/src/site/resources/codequality/pmd.xml
new file mode 100644
index 0000000..5747a1c
--- /dev/null
+++ b/mothballed/src/site/resources/codequality/pmd.xml
@@ -0,0 +1,47 @@
+<?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/basic.xml">
+    <exclude name="EmptyCatchBlock"/>
+  </rule>
+  <rule ref="rulesets/basic.xml/EmptyCatchBlock">
+    <properties>
+      <property name="allowCommentedBlocks" value="true"/>
+    </properties>
+  </rule>
+
+  <rule ref="rulesets/unusedcode.xml"/>
+
+  <rule ref="rulesets/imports.xml"/>
+</ruleset>

http://git-wip-us.apache.org/repos/asf/isis/blob/11645b5f/mothballed/src/site/resources/com.cb.eclipse.folding.KAM-3.5.zip
----------------------------------------------------------------------
diff --git a/mothballed/src/site/resources/com.cb.eclipse.folding.KAM-3.5.zip b/mothballed/src/site/resources/com.cb.eclipse.folding.KAM-3.5.zip
new file mode 100644
index 0000000..16a0f42
Binary files /dev/null and b/mothballed/src/site/resources/com.cb.eclipse.folding.KAM-3.5.zip differ

http://git-wip-us.apache.org/repos/asf/isis/blob/11645b5f/mothballed/src/site/resources/icons/haywood.html
----------------------------------------------------------------------
diff --git a/mothballed/src/site/resources/icons/haywood.html b/mothballed/src/site/resources/icons/haywood.html
new file mode 100644
index 0000000..05176f3
--- /dev/null
+++ b/mothballed/src/site/resources/icons/haywood.html
@@ -0,0 +1,26 @@
+<!-- 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><title>haywood</title></head><body>
+<!-- START SNIPPET: icon-table -->
+<table>
+  <tr>
+<td><a href='images/icons/haywood/16/actionpoint.gif'><img src='images/icons/haywood/16/actionpoint.gif'/></a><a href='images/icons/haywood/32/actionpoint.gif'><img src='images/icons/haywood/32/actionpoint.gif'/></a></td><td><a href='images/icons/haywood/16/address.gif'><img src='images/icons/haywood/16/address.gif'/></a><a href='images/icons/haywood/32/address.gif'><img src='images/icons/haywood/32/address.gif'/></a></td><td><a href='images/icons/haywood/16/agenda.gif'><img src='images/icons/haywood/16/agenda.gif'/></a><a href='images/icons/haywood/32/agenda.gif'><img src='images/icons/haywood/32/agenda.gif'/></a></td><td><a href='images/icons/haywood/16/blackboard.gif'><img src='images/icons/haywood/16/blackboard.gif'/></a><a href='images/icons/haywood/32/blackboard.gif'><img src='images/icons/haywood/32/blackboard.gif'/></a></td><td><a href='images/icons/haywood/16/books.gif'><img src='images/icons/haywood/16/books.gif'/></a><a href='images/icons/haywood/32/books.gif'><img src='i
 mages/icons/haywood/32/books.gif'/></a></td><td><a href='images/icons/haywood/16/calendar.gif'><img src='images/icons/haywood/16/calendar.gif'/></a><a href='images/icons/haywood/32/calendar.gif'><img src='images/icons/haywood/32/calendar.gif'/></a></td><td><a href='images/icons/haywood/16/can.gif'><img src='images/icons/haywood/16/can.gif'/></a><a href='images/icons/haywood/32/can.gif'><img src='images/icons/haywood/32/can.gif'/></a></td><td><a href='images/icons/haywood/16/car.png'><img src='images/icons/haywood/16/car.png'/></a><a href='images/icons/haywood/32/car.png'><img src='images/icons/haywood/32/car.png'/></a></td></tr>
+  <tr>
+<td><a href='images/icons/haywood/16/cellphone.gif'><img src='images/icons/haywood/16/cellphone.gif'/></a><a href='images/icons/haywood/32/cellphone.gif'><img src='images/icons/haywood/32/cellphone.gif'/></a></td><td><a href='images/icons/haywood/16/communication_channel.gif'><img src='images/icons/haywood/16/communication_channel.gif'/></a><a href='images/icons/haywood/32/communication_channel.gif'><img src='images/icons/haywood/32/communication_channel.gif'/></a></td><td><a href='images/icons/haywood/16/currency.gif'><img src='images/icons/haywood/16/currency.gif'/></a><a href='images/icons/haywood/32/currency.gif'><img src='images/icons/haywood/32/currency.gif'/></a></td><td><a href='images/icons/haywood/16/customer.gif'><img src='images/icons/haywood/16/customer.gif'/></a><a href='images/icons/haywood/32/customer.gif'><img src='images/icons/haywood/32/customer.gif'/></a></td><td><a href='images/icons/haywood/16/diploma.gif'><img src='images/icons/haywood/16/diploma.gif'/></a><a 
 href='images/icons/haywood/32/diploma.gif'><img src='images/icons/haywood/32/diploma.gif'/></a></td><td><a href='images/icons/haywood/16/document.gif'><img src='images/icons/haywood/16/document.gif'/></a><a href='images/icons/haywood/32/document.gif'><img src='images/icons/haywood/32/document.gif'/></a></td><td><a href='images/icons/haywood/16/dog.gif'><img src='images/icons/haywood/16/dog.gif'/></a><a href='images/icons/haywood/32/dog.gif'><img src='images/icons/haywood/32/dog.gif'/></a></td><td><a href='images/icons/haywood/16/dogs.gif'><img src='images/icons/haywood/16/dogs.gif'/></a><a href='images/icons/haywood/32/dogs.gif'><img src='images/icons/haywood/32/dogs.gif'/></a></td></tr>
+  <tr>
+<td><a href='images/icons/haywood/16/emailaddress.gif'><img src='images/icons/haywood/16/emailaddress.gif'/></a><a href='images/icons/haywood/32/emailaddress.gif'><img src='images/icons/haywood/32/emailaddress.gif'/></a></td><td><a href='images/icons/haywood/16/employee.gif'><img src='images/icons/haywood/16/employee.gif'/></a><a href='images/icons/haywood/32/employee.gif'><img src='images/icons/haywood/32/employee.gif'/></a></td><td><a href='images/icons/haywood/16/flag.gif'><img src='images/icons/haywood/16/flag.gif'/></a><a href='images/icons/haywood/32/flag.gif'><img src='images/icons/haywood/32/flag.gif'/></a></td><td><a href='images/icons/haywood/16/folder.gif'><img src='images/icons/haywood/16/folder.gif'/></a><a href='images/icons/haywood/32/folder.gif'><img src='images/icons/haywood/32/folder.gif'/></a></td><td><a href='images/icons/haywood/16/function.gif'><img src='images/icons/haywood/16/function.gif'/></a><a href='images/icons/haywood/32/function.gif'><img src='images/i
 cons/haywood/32/function.gif'/></a></td><td><a href='images/icons/haywood/16/language.gif'><img src='images/icons/haywood/16/language.gif'/></a><a href='images/icons/haywood/32/language.gif'><img src='images/icons/haywood/32/language.gif'/></a></td><td><a href='images/icons/haywood/16/locationmap.gif'><img src='images/icons/haywood/16/locationmap.gif'/></a><a href='images/icons/haywood/32/locationmap.gif'><img src='images/icons/haywood/32/locationmap.gif'/></a></td><td><a href='images/icons/haywood/16/meeting_room.gif'><img src='images/icons/haywood/16/meeting_room.gif'/></a><a href='images/icons/haywood/32/meeting_room.gif'><img src='images/icons/haywood/32/meeting_room.gif'/></a></td></tr>
+  <tr>
+<td><a href='images/icons/haywood/16/mortar_board.gif'><img src='images/icons/haywood/16/mortar_board.gif'/></a><a href='images/icons/haywood/32/mortar_board.gif'><img src='images/icons/haywood/32/mortar_board.gif'/></a></td><td><a href='images/icons/haywood/16/order.gif'><img src='images/icons/haywood/16/order.gif'/></a><a href='images/icons/haywood/32/order.gif'><img src='images/icons/haywood/32/order.gif'/></a></td><td><a href='images/icons/haywood/16/order_item.gif'><img src='images/icons/haywood/16/order_item.gif'/></a><a href='images/icons/haywood/32/order_item.gif'><img src='images/icons/haywood/32/order_item.gif'/></a></td><td><a href='images/icons/haywood/16/organization_unit.gif'><img src='images/icons/haywood/16/organization_unit.gif'/></a><a href='images/icons/haywood/32/organization_unit.gif'><img src='images/icons/haywood/32/organization_unit.gif'/></a></td><td><a href='images/icons/haywood/16/permission.gif'><img src='images/icons/haywood/16/permission.gif'/></a><a hr
 ef='images/icons/haywood/32/permission.gif'><img src='images/icons/haywood/32/permission.gif'/></a></td><td><a href='images/icons/haywood/16/product.gif'><img src='images/icons/haywood/16/product.gif'/></a><a href='images/icons/haywood/32/product.gif'><img src='images/icons/haywood/32/product.gif'/></a></td><td><a href='images/icons/haywood/16/product_group.gif'><img src='images/icons/haywood/16/product_group.gif'/></a><a href='images/icons/haywood/32/product_group.gif'><img src='images/icons/haywood/32/product_group.gif'/></a></td><td><a href='images/icons/haywood/16/role.gif'><img src='images/icons/haywood/16/role.gif'/></a><a href='images/icons/haywood/32/role.gif'><img src='images/icons/haywood/32/role.gif'/></a></td></tr>
+  <tr>
+<td><a href='images/icons/haywood/16/skyscraper.gif'><img src='images/icons/haywood/16/skyscraper.gif'/></a><a href='images/icons/haywood/32/skyscraper.gif'><img src='images/icons/haywood/32/skyscraper.gif'/></a></td><td><a href='images/icons/haywood/16/telephone.gif'><img src='images/icons/haywood/16/telephone.gif'/></a><a href='images/icons/haywood/32/telephone.gif'><img src='images/icons/haywood/32/telephone.gif'/></a></td><td><a href='images/icons/haywood/16/transaction.gif'><img src='images/icons/haywood/16/transaction.gif'/></a><a href='images/icons/haywood/32/transaction.gif'><img src='images/icons/haywood/32/transaction.gif'/></a></td><td/></tr>
+</table>
+<!-- END SNIPPET: icon-table -->
+</body></html>

http://git-wip-us.apache.org/repos/asf/isis/blob/11645b5f/mothballed/src/site/resources/icons/nogl.html
----------------------------------------------------------------------
diff --git a/mothballed/src/site/resources/icons/nogl.html b/mothballed/src/site/resources/icons/nogl.html
new file mode 100644
index 0000000..e0329e8
--- /dev/null
+++ b/mothballed/src/site/resources/icons/nogl.html
@@ -0,0 +1,24 @@
+<!-- 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><title>nogl</title></head><body>
+<!-- START SNIPPET: icon-table -->
+<table>
+  <tr>
+<td><a href='images/icons/nogl/32/Aircraft.gif'><img src='images/icons/nogl/32/Aircraft.gif'/></a></td><td><a href='images/icons/nogl/32/Audiotape.gif'><img src='images/icons/nogl/32/Audiotape.gif'/></a></td><td><a href='images/icons/nogl/32/Bargraph.gif'><img src='images/icons/nogl/32/Bargraph.gif'/></a></td><td><a href='images/icons/nogl/32/Basket.gif'><img src='images/icons/nogl/32/Basket.gif'/></a></td><td><a href='images/icons/nogl/32/Bed.gif'><img src='images/icons/nogl/32/Bed.gif'/></a></td><td><a href='images/icons/nogl/32/CallCentreAgent.gif'><img src='images/icons/nogl/32/CallCentreAgent.gif'/></a></td><td><a href='images/icons/nogl/32/Can.gif'><img src='images/icons/nogl/32/Can.gif'/></a></td><td><a href='images/icons/nogl/32/Car.gif'><img src='images/icons/nogl/32/Car.gif'/></a></td><td><a href='images/icons/nogl/32/Cheque.gif'><img src='images/icons/nogl/32/Cheque.gif'/></a></td><td><a href='images/icons/nogl/32/ChessPiece.gif'><img src='images/icons/nogl/32/ChessPiece.
 gif'/></a></td><td><a href='images/icons/nogl/32/City.gif'><img src='images/icons/nogl/32/City.gif'/></a></td><td><a href='images/icons/nogl/32/Coins.gif'><img src='images/icons/nogl/32/Coins.gif'/></a></td></tr>
+  <tr>
+<td><a href='images/icons/nogl/32/CreditCard.gif'><img src='images/icons/nogl/32/CreditCard.gif'/></a></td><td><a href='images/icons/nogl/32/Crosshairs.gif'><img src='images/icons/nogl/32/Crosshairs.gif'/></a></td><td><a href='images/icons/nogl/32/Factory.gif'><img src='images/icons/nogl/32/Factory.gif'/></a></td><td><a href='images/icons/nogl/32/Fax.gif'><img src='images/icons/nogl/32/Fax.gif'/></a></td><td><a href='images/icons/nogl/32/Folder.gif'><img src='images/icons/nogl/32/Folder.gif'/></a></td><td><a href='images/icons/nogl/32/Globe.gif'><img src='images/icons/nogl/32/Globe.gif'/></a></td><td><a href='images/icons/nogl/32/Hammer.gif'><img src='images/icons/nogl/32/Hammer.gif'/></a></td><td><a href='images/icons/nogl/32/Handshake.gif'><img src='images/icons/nogl/32/Handshake.gif'/></a></td><td><a href='images/icons/nogl/32/HouseUnderConstruction.gif'><img src='images/icons/nogl/32/HouseUnderConstruction.gif'/></a></td><td><a href='images/icons/nogl/32/KnifeFork.gif'><img src=
 'images/icons/nogl/32/KnifeFork.gif'/></a></td><td><a href='images/icons/nogl/32/Letter.gif'><img src='images/icons/nogl/32/Letter.gif'/></a></td><td><a href='images/icons/nogl/32/LightningFlash.gif'><img src='images/icons/nogl/32/LightningFlash.gif'/></a></td></tr>
+  <tr>
+<td><a href='images/icons/nogl/32/Man.gif'><img src='images/icons/nogl/32/Man.gif'/></a></td><td><a href='images/icons/nogl/32/Map.gif'><img src='images/icons/nogl/32/Map.gif'/></a></td><td><a href='images/icons/nogl/32/MissedTarget.gif'><img src='images/icons/nogl/32/MissedTarget.gif'/></a></td><td><a href='images/icons/nogl/32/Missilel.gif'><img src='images/icons/nogl/32/Missilel.gif'/></a></td><td><a href='images/icons/nogl/32/MobilePhone.gif'><img src='images/icons/nogl/32/MobilePhone.gif'/></a></td><td><a href='images/icons/nogl/32/Network.gif'><img src='images/icons/nogl/32/Network.gif'/></a></td><td><a href='images/icons/nogl/32/NetworkOn Map32.gif'><img src='images/icons/nogl/32/NetworkOn Map32.gif'/></a></td><td><a href='images/icons/nogl/32/Pen.gif'><img src='images/icons/nogl/32/Pen.gif'/></a></td><td><a href='images/icons/nogl/32/Phone.gif'><img src='images/icons/nogl/32/Phone.gif'/></a></td><td><a href='images/icons/nogl/32/PiggyBank.gif'><img src='images/icons/nogl/32/
 PiggyBank.gif'/></a></td><td><a href='images/icons/nogl/32/QuestionMark.gif'><img src='images/icons/nogl/32/QuestionMark.gif'/></a></td><td><a href='images/icons/nogl/32/RadialPlot.gif'><img src='images/icons/nogl/32/RadialPlot.gif'/></a></td></tr>
+  <tr>
+<td><a href='images/icons/nogl/32/RoundTable.gif'><img src='images/icons/nogl/32/RoundTable.gif'/></a></td><td><a href='images/icons/nogl/32/Scales.gif'><img src='images/icons/nogl/32/Scales.gif'/></a></td><td><a href='images/icons/nogl/32/Smiley.gif'><img src='images/icons/nogl/32/Smiley.gif'/></a></td><td><a href='images/icons/nogl/32/SpeechBubble.gif'><img src='images/icons/nogl/32/SpeechBubble.gif'/></a></td><td><a href='images/icons/nogl/32/SteeringWheel.gif'><img src='images/icons/nogl/32/SteeringWheel.gif'/></a></td><td><a href='images/icons/nogl/32/Taxi.gif'><img src='images/icons/nogl/32/Taxi.gif'/></a></td><td><a href='images/icons/nogl/32/Truck.gif'><img src='images/icons/nogl/32/Truck.gif'/></a></td><td><a href='images/icons/nogl/32/Woman.gif'><img src='images/icons/nogl/32/Woman.gif'/></a></td><td/></tr>
+</table>
+<!-- END SNIPPET: icon-table -->
+</body></html>