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 2013/05/30 09:47:54 UTC

[19/28] ISIS-406: fixing up example/application/wrj prior to recreating archetype

http://git-wip-us.apache.org/repos/asf/isis/blob/ef0dbe84/example/application/quickstart_wicket_restful_jdo/viewer-webapp/src/main/webapp/about/index.html
----------------------------------------------------------------------
diff --git a/example/application/quickstart_wicket_restful_jdo/viewer-webapp/src/main/webapp/about/index.html b/example/application/quickstart_wicket_restful_jdo/viewer-webapp/src/main/webapp/about/index.html
deleted file mode 100644
index cb966e6..0000000
--- a/example/application/quickstart_wicket_restful_jdo/viewer-webapp/src/main/webapp/about/index.html
+++ /dev/null
@@ -1,184 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one
-  or more contributor license agreements.  See the NOTICE file
-  distributed with this work for additional information
-  regarding copyright ownership.  The ASF licenses this file
-  to you under the Apache License, Version 2.0 (the
-  "License"); you may not use this file except in compliance
-  with the License.  You may obtain a copy of the License at
-  
-         http://www.apache.org/licenses/LICENSE-2.0
-         
-  Unless required by applicable law or agreed to in writing,
-  software distributed under the License is distributed on an
-  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  KIND, either express or implied.  See the License for the
-  specific language governing permissions and limitations
-  under the License.
--->
-<html>
-    <head>
-        <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-        <title>Apache Isis&trade; QuickStart (Wicket/Restful/JDO/Shiro)</title>
-        
-        <style type="text/css">
-body {
-    background-color: #1A467B;
-    font-family: Verdana, Helvetica, Arial;
-    font-size: 90%;
-}
-
-li {
-    margin-top: 6px;
-    margin-bottom: 6px;
-}
-table {
-    border-collapse: collapse;
-}
-table, th, td {
-    border: 1px;
-    border-style: solid;
-    border-color: lightgray;
-}
-th, td {
-    padding: 10px;
-}
-#wrapper {
-    background-color: #ffffff;
-    width: 900px;
-    margin: 8px auto;
-    padding: 12px;
-}
-        </style>
-    </head>
-    <body>
-        <div id="wrapper">
-            <img alt="Isis Logo" src="about/images/isis-logo.png" />
-             
-            <p>This app has been generated by the <a href="http://isis.apache.org/getting-started/quickstart-archetype.html">quickstart</a> (wicket/restful/jdo/shiro) archetype for 
-            <a href="http://isis.apache.org">Apache Isis</a>&trade;, a framework to let you rapidly develop 
-            domain-driven apps in Java.</p>
-            
-            <p>
-            The app consists of a bare minimum of classes, so that you can easily strip it back and
-            reuse for your own purposes.  It is configured with:
-            </p>
-            
-            <table>
-                <tr>
-                    <th>Component</th>
-                    <th>Access URL</th>
-                    <th>Description</th>
-                    <th>Further info on the Isis website</th>
-                </tr>
-                <tr>
-                    <td>Wicket Viewer</td>
-                    <td><a href="wicket/">wicket/</a></td>
-                    <td>Provides a generic UI for end-users, built with <a href="http://wicket.apache.org">Apache Wicket</a>&trade;</td>
-                    <td><a href="http://isis.apache.org/components/viewers/wicket/about.html">wicket viewer</a></td>
-                </tr>
-                <tr>
-                    <td>RestfulObjects Viewer</td>
-                    <td><a href="restful/">restful/</a></td>
-                    <td>Provides a RESTful API conformant with the <a href="http://restfulobjects.org">Restful Objects</a> spec</td>
-                    <td><a href="http://isis.apache.org/components/viewers/restfulobjects/about.html">restfulobjects viewer</a></td>
-                </tr>
-                <tr>
-                    <td>JDO Object&nbsp;Store</td>
-                    <td>n/a</td>
-                    <td>Persists objects using JDO/DataNucleus; configured to use HSQLDB in-memory database</td>
-                    <td><a href="http://isis.apache.org/components/objectstores/jdo/about.html">jdo&nbsp;objectstore</a></td>
-                </tr>
-                <tr>
-                    <td>Shiro Security</td>
-                    <td>n/a</td>
-                    <td>Provides authentication and authorization, using <a href="http://shiro.apache.org">Apache Shiro</a>&trade;</td>
-                    <td><a href="http://isis.apache.org/components/security/shiro/about.html">shiro security</a></td>
-                </tr>
-            </table>
-    
-            <h2>App contents</h2>
-            <p>The key files in the application are:</p>
-            <!-- the hrefs below are partially URL encoded to prevent them from being modified when the archetype is created -->
-            <ul>
-              <li>Domain classes (todo functionality) (in <tt>dom</tt> module and <tt>objstore-jdo</tt> module)</a>
-                  <ul>
-                  <li><a href="https://github.com/apache/isis/blob/master/example/application/quickstart%5Fwicket_restful_jdo/dom/src/main/java/dom/todo/ToDoItem.java"><tt>ToDoItem</tt></a> domain entity
-                  </li>
-                  <li><a href="https://github.com/apache/isis/blob/master/example/application/quickstart%5Fwicket_restful_jdo/dom/src/main/java/dom/todo/ToDoItems.java"><tt>ToDoItems</tt></a> domain service (repository/factory)
-                  </li>
-                  <li><a href="https://github.com/apache/isis/blob/master/example/application/quickstart%5Fwicket_restful_jdo/objstore-jdo/src/main/java/objstore/jdo/todo/ToDoItemsJdo.java"><tt>ToDoItemsJdo</tt></a> domain service (repository methods overridden for JDO)
-                  </li>
-                  </ul>
-              </li>
-              <li>Fixture classes (in <tt>fixture</tt> module)</a>
-                <ul>
-                  <li><a href="https://github.com/apache/isis/blob/master/example/application/quickstart%5Fwicket_restful_jdo/fixture/src/main/java/fixture/todo/ToDoItemsFixture.java"><tt>ToDoItemsFixture</tt></a> example fixture data (since configured for in-memory HSQLDB)
-                  </li>
-                  <li><a href="https://github.com/apache/isis/blob/master/example/application/quickstart%5Fwicket_restful_jdo/fixture/src/main/java/fixture/todo/ToDoItemsFixturesService.java"><tt>ToDoItemsFixtureService</tt></a> domain service to install fixtures at run-time
-                  </li>
-                </ul>
-              </li>
-              <li><tt><a href="https://github.com/apache/isis/blob/master/example/application/quickstart%5Fwicket_restful_jdo/viewer-webapp/src/main/webapp/WEB-INF/web.xml">WEB-INF/web.xml</a></tt> (in <tt>viewer-webapp</tt> module)</a>
-                <ul>
-                  <li><tt>AboutPageFilter</tt> - filter that redirects to this page 
-                  </li>
-                  <li><tt>ResourceCachingFilter</tt> and <tt>ResourceServlet</tt> - filter and servlet for serving up static resources. 
-                  </li>
-                  <li><tt>WicketFilter</tt> - filter for the wicket application, mapped to <tt>/wicket/*</tt> 
-                  </li>
-                  <li><tt>ResteasyBootstrap</tt>, <tt>IsisSessionFilterForRestfulObjects</tt>, <tt>RestfulObjectsRestEasyDispatcher</tt> - listeners, filters and servlets to bootstrap and map restful objects viewer to <tt>/restful/*</tt>. 
-                  </li>
-                  <li>commented out <tt>IsisWebAppBootstrapper</tt> listener; this is NOT required unless wicket viewer config is removed 
-                  </li>
-                </ul>
-              </li>
-              <li><tt><a href="https://github.com/apache/isis/blob/master/example/application/quickstart%5Fwicket_restful_jdo/viewer-webapp/src/main/webapp/WEB-INF/isis.properties">WEB-INF/isis.properties</a></tt> (in <tt>viewer-webapp</tt> module)</a>
-                <ul>
-                  <li><tt>isis.services</tt> - specifies the two domain services described above (<tt>ToDoItemsJdo</tt> and <tt>ToDoItemsFixtureService</tt>), appearing on the menu bar in the Wicket viewer, 
-                  along with a number of hidden framework-provided domain services demonstrating Isis' support for publishing, auditing and customizable error handling 
-                  </li>
-                  <li><tt>isis.persistor</tt> - specifies to use the JDO object store
-                  </li>
-                  <li><tt>isis.authentication</tt> and <tt>isis.authorization</tt> - security mechanism to use (<tt>bypass</tt> effectively disables) 
-                  </li>
-                </ul>
-              </li>
-              <li><tt><a href="https://github.com/apache/isis/blob/master/example/application/quickstart%5Fwicket_restful_jdo/viewer-webapp/src/main/webapp/WEB-INF/persistor_datanucleus.properties">WEB-INF/persistor_datanucleus.properties</a></tt> (in <tt>viewer-webapp</tt> module)</a>
-                <ul>
-                  <li>configuration for JDO object store 
-                  </li>
-                </ul>
-              </li>
-              <li><tt><a href="https://github.com/apache/isis/blob/master/example/application/quickstart%5Fwicket_restful_jdo/viewer-webapp/src/main/webapp/WEB-INF/shiro.ini">WEB-INF/shiro.ini</a></tt> (in <tt>viewer-webapp</tt> module)</a>
-                <ul>
-                  <li>configuration for Shiro security
-                  </li>
-                </ul>
-              </li>
-            </ul>
-    
-            <h2>Next steps</h2>
-            <p>Use the following as a check-list for refactoring towards your own application:
-            <ul>
-              <li>Experiment with users, roles and permissions (in <tt>shiro.ini</tt>)
-              </li>
-              <li>Refactor the <tt>ToDoItem</tt>, <tt>ToDoItems</tt> and <tt>ToDoItemsJdo</tt> towards your own application's functionality; obviously you are likely to introduce many more classes and services
-              </li>
-              <li>Reconfigure <tt>persistor_datanucleus.properties</tt> to specify the JDBC URL to the database you wish to work with; if necessary also update the <tt>pom.xml</tt> in the <tt>viewer-webapp</tt> module to add the JDBC driver to the classpath
-              </li>
-              <li>Assuming you are using a persistent data store, then remove the <tt>ToDoItemsFixtureService</tt> from the <tt>isis.properties</tt> file (<tt>isis.services</tt> key).  Alternatively you could keep but refactor to provide a similar service for your own application's domain.    
-              </li>
-              <li>Replace (or remove) the publishing and auditing service implementations.
-              </li>
-              <li>If you want the wicket viewer but NOT the restful objects viewer, then remove/comment out the <tt>ResteasyBootstrap</tt>, <tt>IsisSessionFilterForRestfulObjects</tt>, <tt>RestfulObjectsRestEasyDispatcher</tt> from <tt>web.xml</tt>
-              </li>
-              <li>If you want the restful objects viewer but NOT the wicket viewer, then remove/comment out the <tt>WicketFilter</tt> filter and uncomment the <tt>IsisWebAppBootstrapper</tt> listener in <tt>web.xml</tt>
-              </li>
-              <li>Update this page (<tt>about/index.html</tt>) as required for your application, and/or remove the <tt>welcome-file-list</tt> from <tt>web.xml</tt>
-              </li>
-            </ul>
-        </div>
-    </body>
-</html>

http://git-wip-us.apache.org/repos/asf/isis/blob/ef0dbe84/example/application/quickstart_wicket_restful_jdo/viewer-webapp/src/main/webapp/css/application.css
----------------------------------------------------------------------
diff --git a/example/application/quickstart_wicket_restful_jdo/viewer-webapp/src/main/webapp/css/application.css b/example/application/quickstart_wicket_restful_jdo/viewer-webapp/src/main/webapp/css/application.css
deleted file mode 100644
index 1e2caf9..0000000
--- a/example/application/quickstart_wicket_restful_jdo/viewer-webapp/src/main/webapp/css/application.css
+++ /dev/null
@@ -1,32 +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.
- */
-
-/*
-uncomment to add a logo (in an ../images directory relative to this file)
-
-#header {
-    height: 48px;
-    background-image: url("../images/logo.png");
-	background-repeat: no-repeat;
-}
-
-#header h1 {
-	display: none;
-}
-*/

http://git-wip-us.apache.org/repos/asf/isis/blob/ef0dbe84/example/application/quickstart_wicket_restful_jdo/viewer-webapp/src/main/webapp/scripts/application.js
----------------------------------------------------------------------
diff --git a/example/application/quickstart_wicket_restful_jdo/viewer-webapp/src/main/webapp/scripts/application.js b/example/application/quickstart_wicket_restful_jdo/viewer-webapp/src/main/webapp/scripts/application.js
deleted file mode 100644
index d8cf6fe..0000000
--- a/example/application/quickstart_wicket_restful_jdo/viewer-webapp/src/main/webapp/scripts/application.js
+++ /dev/null
@@ -1,3 +0,0 @@
-$(document).ready(function() {
-	/// here...
-});
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/ef0dbe84/example/application/quickstart_wicket_restful_jdo/webapp/ide/eclipse/launch/quickstart_wicket_restful_jdo-viewer-webapp-with-fixtures.launch
----------------------------------------------------------------------
diff --git a/example/application/quickstart_wicket_restful_jdo/webapp/ide/eclipse/launch/quickstart_wicket_restful_jdo-viewer-webapp-with-fixtures.launch b/example/application/quickstart_wicket_restful_jdo/webapp/ide/eclipse/launch/quickstart_wicket_restful_jdo-viewer-webapp-with-fixtures.launch
new file mode 100644
index 0000000..f9c6788
--- /dev/null
+++ b/example/application/quickstart_wicket_restful_jdo/webapp/ide/eclipse/launch/quickstart_wicket_restful_jdo-viewer-webapp-with-fixtures.launch
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.jdt.launching.localJavaApplication">
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/org.apache.isis.runtimes.dflt.webserver/src/main/java/org/apache/isis/WebServer.java"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+<listEntry value="1"/>
+</listAttribute>
+<mapAttribute key="org.eclipse.debug.core.preferred_launchers">
+<mapEntry key="[debug]" value="org.eclipse.jdt.launching.localJavaApplication"/>
+<mapEntry key="[run]" value="org.eclipse.jdt.launching.localJavaApplication"/>
+</mapAttribute>
+<stringAttribute key="org.eclipse.debug.core.source_locator_id" value="org.eclipse.jdt.launching.sourceLocator.JavaSourceLookupDirector"/>
+<booleanAttribute key="org.eclipse.jdt.debug.ui.INCLUDE_EXTERNAL_JARS" value="true"/>
+<stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="org.eclipse.m2e.launchconfig.classpathProvider"/>
+<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.apache.isis.WebServer"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="quickstart_wicket_restful_jdo-viewer-webapp"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="--port 8080 -D isis.persistor.datanucleus.install-fixtures=true -t SERVER_EXPLORATION"/>
+<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.m2e.launchconfig.sourcepathProvider"/>
+</launchConfiguration>

http://git-wip-us.apache.org/repos/asf/isis/blob/ef0dbe84/example/application/quickstart_wicket_restful_jdo/webapp/ide/eclipse/launch/quickstart_wicket_restful_jdo-viewer-webapp.launch
----------------------------------------------------------------------
diff --git a/example/application/quickstart_wicket_restful_jdo/webapp/ide/eclipse/launch/quickstart_wicket_restful_jdo-viewer-webapp.launch b/example/application/quickstart_wicket_restful_jdo/webapp/ide/eclipse/launch/quickstart_wicket_restful_jdo-viewer-webapp.launch
new file mode 100644
index 0000000..dcec201
--- /dev/null
+++ b/example/application/quickstart_wicket_restful_jdo/webapp/ide/eclipse/launch/quickstart_wicket_restful_jdo-viewer-webapp.launch
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.jdt.launching.localJavaApplication">
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/org.apache.isis.runtimes.dflt.webserver/src/main/java/org/apache/isis/WebServer.java"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+<listEntry value="1"/>
+</listAttribute>
+<mapAttribute key="org.eclipse.debug.core.preferred_launchers">
+<mapEntry key="[debug]" value="org.eclipse.jdt.launching.localJavaApplication"/>
+<mapEntry key="[run]" value="org.eclipse.jdt.launching.localJavaApplication"/>
+</mapAttribute>
+<stringAttribute key="org.eclipse.debug.core.source_locator_id" value="org.eclipse.jdt.launching.sourceLocator.JavaSourceLookupDirector"/>
+<booleanAttribute key="org.eclipse.jdt.debug.ui.INCLUDE_EXTERNAL_JARS" value="true"/>
+<stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="org.eclipse.m2e.launchconfig.classpathProvider"/>
+<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.apache.isis.WebServer"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="quickstart_wicket_restful_jdo-viewer-webapp"/>
+<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.m2e.launchconfig.sourcepathProvider"/>
+</launchConfiguration>

http://git-wip-us.apache.org/repos/asf/isis/blob/ef0dbe84/example/application/quickstart_wicket_restful_jdo/webapp/lib/.gitignore
----------------------------------------------------------------------
diff --git a/example/application/quickstart_wicket_restful_jdo/webapp/lib/.gitignore b/example/application/quickstart_wicket_restful_jdo/webapp/lib/.gitignore
new file mode 100644
index 0000000..70eee7e
--- /dev/null
+++ b/example/application/quickstart_wicket_restful_jdo/webapp/lib/.gitignore
@@ -0,0 +1,5 @@
+#
+# explicitly ignoring Microsoft JDBC4 jar
+# (cannot redistribute, licensing)
+#
+sqljdbc4.jar

http://git-wip-us.apache.org/repos/asf/isis/blob/ef0dbe84/example/application/quickstart_wicket_restful_jdo/webapp/pom.xml
----------------------------------------------------------------------
diff --git a/example/application/quickstart_wicket_restful_jdo/webapp/pom.xml b/example/application/quickstart_wicket_restful_jdo/webapp/pom.xml
new file mode 100644
index 0000000..5695256
--- /dev/null
+++ b/example/application/quickstart_wicket_restful_jdo/webapp/pom.xml
@@ -0,0 +1,307 @@
+<?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.example.application</groupId>
+        <artifactId>quickstart_wicket_restful_jdo</artifactId>
+        <version>1.0.3-SNAPSHOT</version>
+    </parent>
+
+    <artifactId>quickstart_wicket_restful_jdo-webapp</artifactId>
+    <name>Quickstart Wicket/Restful/JDO Webapp</name>
+
+    <description>This module runs both the Wicket viewer and the Restfulobjects viewer in a single webapp configured to run using the datanucleus object store.</description>
+
+    <packaging>war</packaging>
+
+    <properties>
+        <siteBaseDir>..</siteBaseDir>
+    </properties>
+    
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.mortbay.jetty</groupId>
+                <artifactId>maven-jetty-plugin</artifactId>
+            </plugin>
+
+            <!-- mvn package -->
+            <plugin>
+                <groupId>org.simplericity.jettyconsole</groupId>
+                <artifactId>jetty-console-maven-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <goals>
+                            <goal>createconsole</goal>
+                        </goals>
+                        <configuration>
+                            <backgroundImage>${basedir}/src/main/jettyconsole/isis-banner.png</backgroundImage>
+                        </configuration>
+                        <phase>package</phase>
+                    </execution>
+                </executions>
+            </plugin>
+
+            <!-- prereqs: mvn package -->
+            <!-- mvn antrun:run -->
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-antrun-plugin</artifactId>
+                <configuration>
+                    <tasks>
+                        <exec executable="java" failonerror="true">
+                            <arg value="-jar" />
+                            <arg value="${project.build.directory}/${project.build.finalName}-jetty-console.war" />
+                        </exec>
+                    </tasks>
+                </configuration>
+            </plugin>
+
+            <plugin>
+                <groupId>org.codehaus.mojo</groupId>
+                <artifactId>build-helper-maven-plugin</artifactId>
+                <version>1.5</version>
+                  <executions>
+                    <execution>
+                      <phase>validate</phase>
+                      <goals>
+                        <goal>maven-version</goal>
+                      </goals>
+                    </execution>
+                  </executions>
+            </plugin>
+
+            <plugin>
+                <artifactId>maven-war-plugin</artifactId>
+                <configuration>
+                    <warName>quickstart</warName>
+                    <archive>
+                        <manifest>
+                            <addClasspath>false</addClasspath>
+                        </manifest>
+                        <manifestEntries>
+                            <Build-Time>${maven.build.timestamp}</Build-Time>
+                            <Build-Host>${agent.name}</Build-Host>
+                            <Build-User>${user.name}</Build-User>
+                            <Build-Maven>Maven ${maven.version}</Build-Maven>
+                            <Build-Java>${java.version}</Build-Java>
+                            <Build-OS>${os.name}</Build-OS>
+                            <Build-Label>${project.version}</Build-Label>
+                        </manifestEntries>
+                    </archive>
+                </configuration>
+            </plugin>
+
+        </plugins>
+        <pluginManagement>
+            <plugins>
+                <!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
+                <plugin>
+                    <groupId>org.eclipse.m2e</groupId>
+                    <artifactId>lifecycle-mapping</artifactId>
+                    <version>1.0.0</version>
+                    <configuration>
+                        <lifecycleMappingMetadata>
+                            <pluginExecutions>
+                                <pluginExecution>
+                                    <pluginExecutionFilter>
+                                        <groupId>
+                                            org.codehaus.mojo
+                                        </groupId>
+                                        <artifactId>
+                                            build-helper-maven-plugin
+                                        </artifactId>
+                                        <versionRange>
+                                            [1.5,)
+                                        </versionRange>
+                                        <goals>
+                                            <goal>maven-version</goal>
+                                        </goals>
+                                    </pluginExecutionFilter>
+                                    <action>
+                                        <ignore></ignore>
+                                    </action>
+                                </pluginExecution>
+                            </pluginExecutions>
+                        </lifecycleMappingMetadata>
+                    </configuration>
+                </plugin>
+            </plugins>
+        </pluginManagement>
+    </build>
+
+    <dependencies>
+    
+        <!-- other modules in this project -->
+        <dependency>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>quickstart_wicket_restful_jdo-dom</artifactId>
+            <exclusions>
+                <exclusion>
+                    <!-- so don't pick up transitive dependency to asm 4.0.0 -->
+                    <groupId>org.datanucleus</groupId>
+                    <artifactId>datanucleus-enhancer</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>quickstart_wicket_restful_jdo-fixture</artifactId>
+            <exclusions>
+                <exclusion>
+                    <!-- so don't pick up transitive dependency to asm 4.0.0 -->
+                    <groupId>org.datanucleus</groupId>
+                    <artifactId>datanucleus-enhancer</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+
+        <!-- objectstore/domain service/repository implementations (brings in dependency to objectstore-jdo)-->
+        <dependency>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>quickstart_wicket_restful_jdo-objstore-jdo</artifactId>
+            <exclusions>
+                <exclusion>
+                    <!-- so don't pick up transitive dependency to asm 4.0.0 -->
+                    <groupId>org.datanucleus</groupId>
+                    <artifactId>datanucleus-enhancer</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        
+        <!-- other isis components -->
+        <dependency>
+            <groupId>org.apache.isis.viewer</groupId>
+            <artifactId>isis-viewer-wicket-impl</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.isis.viewer</groupId>
+            <artifactId>isis-viewer-restfulobjects-server</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.isis.security</groupId>
+            <artifactId>isis-security-shiro</artifactId>
+        </dependency>
+
+
+        <!-- isis core -->
+        <dependency>
+            <groupId>org.apache.isis.core</groupId>
+            <artifactId>isis-core-runtime</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.isis.core</groupId>
+            <artifactId>isis-core-profilestore</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.isis.core</groupId>
+            <artifactId>isis-core-security</artifactId>
+        </dependency>
+        
+        <!-- to run using WebServer (optional) -->
+        <dependency>
+            <groupId>org.apache.isis.core</groupId>
+            <artifactId>isis-core-webserver</artifactId>
+            <scope>runtime</scope>
+            <optional>true</optional>
+        </dependency>
+
+
+        <dependency>
+            <groupId>org.apache.geronimo.specs</groupId>
+            <artifactId>geronimo-servlet_2.5_spec</artifactId>
+            <scope>provided</scope>
+        </dependency>
+
+        <!-- 
+          JDBC drivers 
+          (for jdo objectstore)
+          -->
+        <dependency>
+            <groupId>org.hsqldb</groupId>
+            <artifactId>hsqldb</artifactId>
+        </dependency>
+
+        <!-- 
+        <dependency>
+            <groupId>postgresql</groupId>
+            <artifactId>postgresql</artifactId>
+            <version>9.1-901.jdbc4</version>
+        </dependency>
+         -->
+
+        <!-- 
+        mvn install:install-file -Dfile=sqljdbc4.jar \
+                                 -DgroupId=com.microsoft.sqlserver \
+                                 -DartifactId=jdbc \
+                                 -Dversion=4.0 \
+                                 -Dpackaging=jar
+         -->
+         <!-- 
+        <dependency>
+            <groupId>com.microsoft.sqlserver</groupId>
+            <artifactId>jdbc</artifactId>
+            <version>4.0</version>
+        </dependency>
+          -->
+
+        <dependency>
+          <groupId>org.lazyluke</groupId>
+          <artifactId>log4jdbc-remix</artifactId>
+          <exclusions>
+            <exclusion>
+              <groupId>org.slf4j</groupId>
+              <artifactId>slf4j-api</artifactId>
+            </exclusion>
+          </exclusions>
+        </dependency>
+
+
+        <!-- 3rd party dependency -->
+        <!-- 
+        GMAP3: uncomment to use https://github.com/danhaywood/isis-wicket-gmap3
+        <dependency>
+            <groupId>com.danhaywood.isis.wicket.ui.components</groupId>
+            <artifactId>danhaywood-isis-wicket-gmap3-ui</artifactId>
+        </dependency>
+         -->
+        <!-- 
+        WICKEDCHARTS: uncomment to use https://github.com/danhaywood/isis-wicket-wickedcharts
+        <dependency>
+            <groupId>com.danhaywood.isis.wicket.ui.components</groupId>
+            <artifactId>danhaywood-isis-wicket-wickedcharts-scalarchart</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.danhaywood.isis.wicket.ui.components</groupId>
+            <artifactId>danhaywood-isis-wicket-wickedcharts-summarycharts</artifactId>
+        </dependency>
+         -->
+        <!-- 
+        EXCEL: uncomment to use https://github.com/danhaywood/isis-wicket-excel
+        <dependency>
+            <groupId>com.danhaywood.isis.wicket.ui.components</groupId>
+            <artifactId>danhaywood-isis-wicket-excel</artifactId>
+        </dependency>
+         -->
+         
+    </dependencies>
+
+</project>

http://git-wip-us.apache.org/repos/asf/isis/blob/ef0dbe84/example/application/quickstart_wicket_restful_jdo/webapp/src/main/java/app/ComponentFactoryRegistrarForQuickStart.java
----------------------------------------------------------------------
diff --git a/example/application/quickstart_wicket_restful_jdo/webapp/src/main/java/app/ComponentFactoryRegistrarForQuickStart.java b/example/application/quickstart_wicket_restful_jdo/webapp/src/main/java/app/ComponentFactoryRegistrarForQuickStart.java
new file mode 100644
index 0000000..70370a8
--- /dev/null
+++ b/example/application/quickstart_wicket_restful_jdo/webapp/src/main/java/app/ComponentFactoryRegistrarForQuickStart.java
@@ -0,0 +1,33 @@
+/*
+ *  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 app;
+
+import com.google.inject.Singleton;
+
+import org.apache.isis.viewer.wicket.viewer.registries.components.ComponentFactoryRegistrarDefault;
+
+@Singleton
+public class ComponentFactoryRegistrarForQuickStart extends ComponentFactoryRegistrarDefault {
+
+    @Override
+    public void addComponentFactories(ComponentFactoryList componentFactories) {
+        super.addComponentFactories(componentFactories);
+        // currently no replacements
+    }
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/ef0dbe84/example/application/quickstart_wicket_restful_jdo/webapp/src/main/java/app/QuickStartApplication.java
----------------------------------------------------------------------
diff --git a/example/application/quickstart_wicket_restful_jdo/webapp/src/main/java/app/QuickStartApplication.java b/example/application/quickstart_wicket_restful_jdo/webapp/src/main/java/app/QuickStartApplication.java
new file mode 100644
index 0000000..bf3ab6d
--- /dev/null
+++ b/example/application/quickstart_wicket_restful_jdo/webapp/src/main/java/app/QuickStartApplication.java
@@ -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.
+ */
+package app;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.URL;
+import java.nio.charset.Charset;
+import java.util.Enumeration;
+import java.util.List;
+import java.util.Map.Entry;
+import java.util.Set;
+import java.util.jar.Attributes;
+import java.util.jar.JarFile;
+import java.util.jar.Manifest;
+
+import javax.servlet.ServletContext;
+
+import org.apache.commons.collections.EnumerationUtils;
+import org.apache.isis.viewer.wicket.ui.app.registry.ComponentFactoryRegistrar;
+import org.apache.isis.viewer.wicket.viewer.IsisWicketApplication;
+
+import com.google.common.base.Joiner;
+import com.google.common.collect.Iterables;
+import com.google.common.collect.Iterators;
+import com.google.common.collect.Lists;
+import com.google.common.io.Resources;
+import com.google.inject.AbstractModule;
+import com.google.inject.Module;
+import com.google.inject.name.Names;
+import com.google.inject.util.Modules;
+import com.google.inject.util.Providers;
+
+
+/**
+ * As specified in <tt>web.xml</tt>.
+ * 
+ * <p>
+ * See:
+ * <pre>
+ * &lt;filter>
+ *   &lt;filter-name>wicket&lt;/filter-name>
+ *    &lt;filter-class>org.apache.wicket.protocol.http.WicketFilter&lt;/filter-class>
+ *    &lt;init-param>
+ *      &lt;param-name>applicationClassName&lt;/param-name>
+ *      &lt;param-value>app.QuickStartApplication&lt;/param-value>
+ *    &lt;/init-param>
+ * &lt;/filter>
+ * </pre>
+ * 
+ */
+public class QuickStartApplication extends IsisWicketApplication {
+
+    private static final long serialVersionUID = 1L;
+
+    @Override
+    protected Module newIsisWicketModule() {
+        final Module isisDefaults = super.newIsisWicketModule();
+        
+        final Module quickstartOverrides = new AbstractModule() {
+            @Override
+            protected void configure() {
+                bind(ComponentFactoryRegistrar.class).to(ComponentFactoryRegistrarForQuickStart.class);
+                
+                bind(String.class).annotatedWith(Names.named("applicationName")).toInstance("Quick Start App");
+                bind(String.class).annotatedWith(Names.named("applicationCss")).toInstance("css/application.css");
+                bind(String.class).annotatedWith(Names.named("applicationJs")).toInstance("scripts/application.js");
+                bind(String.class).annotatedWith(Names.named("welcomeMessage")).toInstance(readLines("welcome.html"));
+                bind(String.class).annotatedWith(Names.named("aboutMessage")).toInstance("QuickStart");
+                bind(InputStream.class).annotatedWith(Names.named("metaInfManifest")).toProvider(Providers.of(getServletContext().getResourceAsStream("/META-INF/MANIFEST.MF")));
+            }
+        };
+
+        return Modules.override(isisDefaults).with(quickstartOverrides);
+    }
+
+    private static String readLines(final String resourceName) {
+        try {
+            List<String> readLines = Resources.readLines(Resources.getResource(QuickStartApplication.class, resourceName), Charset.defaultCharset());
+            final String aboutText = Joiner.on("\n").join(readLines);
+            return aboutText;
+        } catch (IOException e) {
+            return "This is Quick Start";
+        }
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/ef0dbe84/example/application/quickstart_wicket_restful_jdo/webapp/src/main/jettyconsole/isis-banner.pdn
----------------------------------------------------------------------
diff --git a/example/application/quickstart_wicket_restful_jdo/webapp/src/main/jettyconsole/isis-banner.pdn b/example/application/quickstart_wicket_restful_jdo/webapp/src/main/jettyconsole/isis-banner.pdn
new file mode 100644
index 0000000..37543c9
Binary files /dev/null and b/example/application/quickstart_wicket_restful_jdo/webapp/src/main/jettyconsole/isis-banner.pdn differ

http://git-wip-us.apache.org/repos/asf/isis/blob/ef0dbe84/example/application/quickstart_wicket_restful_jdo/webapp/src/main/jettyconsole/isis-banner.png
----------------------------------------------------------------------
diff --git a/example/application/quickstart_wicket_restful_jdo/webapp/src/main/jettyconsole/isis-banner.png b/example/application/quickstart_wicket_restful_jdo/webapp/src/main/jettyconsole/isis-banner.png
new file mode 100644
index 0000000..cd9ecfe
Binary files /dev/null and b/example/application/quickstart_wicket_restful_jdo/webapp/src/main/jettyconsole/isis-banner.png differ

http://git-wip-us.apache.org/repos/asf/isis/blob/ef0dbe84/example/application/quickstart_wicket_restful_jdo/webapp/src/main/resources/app/welcome.html
----------------------------------------------------------------------
diff --git a/example/application/quickstart_wicket_restful_jdo/webapp/src/main/resources/app/welcome.html b/example/application/quickstart_wicket_restful_jdo/webapp/src/main/resources/app/welcome.html
new file mode 100644
index 0000000..ca5f770
--- /dev/null
+++ b/example/application/quickstart_wicket_restful_jdo/webapp/src/main/resources/app/welcome.html
@@ -0,0 +1,28 @@
+<?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.
+-->
+<p class="intro">
+This is a <a href="https://github.com/apache/isis/blob/master/example/application/quickstart%5Fwicket_restful_jdo/dom/src/main/java/dom/todo/ToDoItem.java"  target="_blank">single-class</a> domain application, configured to run with Isis' wicket viewer and the JDO/DataNucleus objectstore.
+</p>
+
+<br/>
+<br/>
+<p>
+For more details, see the <a href="http://isis.apache.org/documentation.html" target="_blank">Isis website</a>.
+</p>

http://git-wip-us.apache.org/repos/asf/isis/blob/ef0dbe84/example/application/quickstart_wicket_restful_jdo/webapp/src/main/webapp/WEB-INF/authentication_file.passwords
----------------------------------------------------------------------
diff --git a/example/application/quickstart_wicket_restful_jdo/webapp/src/main/webapp/WEB-INF/authentication_file.passwords b/example/application/quickstart_wicket_restful_jdo/webapp/src/main/webapp/WEB-INF/authentication_file.passwords
new file mode 100644
index 0000000..9a568b0
--- /dev/null
+++ b/example/application/quickstart_wicket_restful_jdo/webapp/src/main/webapp/WEB-INF/authentication_file.passwords
@@ -0,0 +1,28 @@
+#  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.
+
+
+#
+# configuration file for the file-based authentication
+# not used by the onlinedemo
+#
+
+# list of users, and their password, and optionally roles
+sven:pass:org.apache.isis.viewer.wicket.roles.USER
+dick:pass:org.apache.isis.viewer.wicket.roles.USER
+bob:pass:org.apache.isis.viewer.wicket.roles.USER
+joe:pass:org.apache.isis.viewer.wicket.roles.USER
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/ef0dbe84/example/application/quickstart_wicket_restful_jdo/webapp/src/main/webapp/WEB-INF/authentication_file.properties
----------------------------------------------------------------------
diff --git a/example/application/quickstart_wicket_restful_jdo/webapp/src/main/webapp/WEB-INF/authentication_file.properties b/example/application/quickstart_wicket_restful_jdo/webapp/src/main/webapp/WEB-INF/authentication_file.properties
new file mode 100644
index 0000000..62b9dae
--- /dev/null
+++ b/example/application/quickstart_wicket_restful_jdo/webapp/src/main/webapp/WEB-INF/authentication_file.properties
@@ -0,0 +1,25 @@
+#  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.
+
+#
+# configuration file for the File-based authentication mechanism
+#
+
+
+#
+# (intentionally empty)
+#

http://git-wip-us.apache.org/repos/asf/isis/blob/ef0dbe84/example/application/quickstart_wicket_restful_jdo/webapp/src/main/webapp/WEB-INF/authorization_file.allow
----------------------------------------------------------------------
diff --git a/example/application/quickstart_wicket_restful_jdo/webapp/src/main/webapp/WEB-INF/authorization_file.allow b/example/application/quickstart_wicket_restful_jdo/webapp/src/main/webapp/WEB-INF/authorization_file.allow
new file mode 100644
index 0000000..4407ec2
--- /dev/null
+++ b/example/application/quickstart_wicket_restful_jdo/webapp/src/main/webapp/WEB-INF/authorization_file.allow
@@ -0,0 +1,28 @@
+#  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.
+
+
+#
+# configuration file for the file-based authorization
+#
+
+
+#
+# (intentionally empty)
+#
+
+

http://git-wip-us.apache.org/repos/asf/isis/blob/ef0dbe84/example/application/quickstart_wicket_restful_jdo/webapp/src/main/webapp/WEB-INF/authorization_file.properties
----------------------------------------------------------------------
diff --git a/example/application/quickstart_wicket_restful_jdo/webapp/src/main/webapp/WEB-INF/authorization_file.properties b/example/application/quickstart_wicket_restful_jdo/webapp/src/main/webapp/WEB-INF/authorization_file.properties
new file mode 100644
index 0000000..f44bb6c
--- /dev/null
+++ b/example/application/quickstart_wicket_restful_jdo/webapp/src/main/webapp/WEB-INF/authorization_file.properties
@@ -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.
+
+#
+# configuration file for the File-based authorization mechanism
+#
+
+
+#
+# the whitelist file
+# (value shown below is the default)
+#
+
+#isis.authorization.file.whitelist=authorization_file.allow
+
+
+
+#
+# the blacklist file
+# (there is no default value; provide a filename)
+#
+
+#isis.authorization.file.blacklist=
+
+
+
+#
+# switch on "learning mode".  In this mode the authorization mechanism
+# will grant all requests, and log those requests into the allow file.
+#
+
+#isis.authorization.learn=true
+

http://git-wip-us.apache.org/repos/asf/isis/blob/ef0dbe84/example/application/quickstart_wicket_restful_jdo/webapp/src/main/webapp/WEB-INF/isis.properties
----------------------------------------------------------------------
diff --git a/example/application/quickstart_wicket_restful_jdo/webapp/src/main/webapp/WEB-INF/isis.properties b/example/application/quickstart_wicket_restful_jdo/webapp/src/main/webapp/WEB-INF/isis.properties
new file mode 100644
index 0000000..8d35c45
--- /dev/null
+++ b/example/application/quickstart_wicket_restful_jdo/webapp/src/main/webapp/WEB-INF/isis.properties
@@ -0,0 +1,202 @@
+#  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 system components.
+#
+# The values correspond to the named components in the installer-registry.properties file
+# in the org.apache.isis.runtimes.dflt:runtime JAR (in the org.apache.isis.runtimes.dflt.runtime package)
+#
+# Although all configuration could reside in isis.properties, the recommendation is
+# to split out into component specific files:
+# 
+#    xxx_yyy.properties files
+#
+# where
+#    * xxx is the component type, and
+#    * yyy is the component name.
+#
+# For example, persistor_sql.properties holds configuration information specific to the
+#
+#
+# If the components are changed, also remember to edit pom.xml (further comments can be 
+# found in the persistor_xxx.properties files)
+#
+#################################################################################
+
+#
+# configure the persistor (object store) to use
+#
+# * in-memory   requires no additional configuration, but stores object in-memory.
+#               Only suitable for prototyping
+# * datanucleus uses JDO DataNucleus to persist objects to relational database.
+#               for objectstore-specific properties, see persistor_datanucleus.properties   
+# * fileserver  uses a simple FileServer to persist objects as JSON documents.  It requires the fileserver component to be running
+#               for objectstore-specific properties, see persistor_fileserver.properties 
+# * mongodb     uses MongoDB to be persist objects as JSON documents.  It requires MongoDB to be installed and running
+#               for objectstore-specific properties, see persistor_fileserver.properties  
+# * sql         uses an RDBMS to persist objects as table rows.  
+#               for objectstore-specific properties, see persistor_sql.properties
+# * xml         uses the XML ObjectStore to be persist objects to a set of XML files.  Only suitable for prototyping.
+#               for objectstore-specific properties, see persistor_xml.properties 
+#
+# NOTE:
+# * if using non-naive implementations of services, edit isis.services (below) and 
+# * if necessary, update the pom.xml to reference appropriate objstore-xxx module
+# * for sql and datanucleus objectstores, update the pom.xml to reference appropriate JDBC driver
+# 
+
+#isis.persistor=in-memory
+isis.persistor=datanucleus
+#isis.persistor=fileserver
+#isis.persistor=mongodb
+#isis.persistor=sql
+#isis.persistor=xml
+
+
+
+
+#
+# configure authentication mechanism to use (to logon to the system)
+# note:
+# - authentication is disabled if running in exploration mode
+# - the Scimpi viewer allows access to anonymous users
+# 
+ 
+# default is file in SERVER mode, none in SERVER_EXPLORATION.  Derived from wicket mode 
+#isis.authentication=bypass
+isis.authentication=shiro
+
+#
+# configure authorization mechanism to use
+#
+# The authorization mechanism define each users' permissions to view/edit object properties 
+# or collections, and to view/invoke object actions
+#
+# configuring this component automatically refines the metamodel (installing a facet factory
+# which vetoes access as required)
+# 
+ 
+# default is file in SERVER mode, none in SERVER_EXPLORATION.  Derived from wicket mode 
+#isis.authorization=file
+isis.authorization=shiro
+
+
+#
+# configure the user profile store to use.
+# 
+# the user profile store is supported by some viewers as a way to store 
+# user-specific settings (eg colours, themes etc)
+# 
+isis.user-profile-store=in-memory
+
+
+
+
+#################################################################################
+#
+# MetaModel
+#
+# The metamodel typically does not require additional configuration, although
+# the system components (defined above) may refine the metamodel for their needs.
+#
+#################################################################################
+
+
+#
+# additional programming model facets
+#
+
+#isis.reflector.facets.include=
+#isis.reflector.facets.exclude=
+
+
+#
+# metamodel validator
+#
+
+#isis.reflector.validator=
+
+
+
+#################################################################################
+#
+# Value facet defaults
+#
+# (see also viewer-specific config files, eg viewer_wicket.properties)
+#
+#################################################################################
+
+# as used by @Title of a date
+isis.value.format.date=dd-MM-yyyy
+
+
+
+
+#################################################################################
+#
+# Application Services and fixtures
+#
+#################################################################################
+
+#
+# Specify the domain services.
+# 
+# These are the most important configuration properties in the system, as they define
+# the set of the classes for Isis to instantiate as domain service singletons.
+# From these domain service instances the rest of the metamodel is discovered, while the 
+# end-user gains access to other domain objects by invoking the actions of the domain services.
+#
+# The implementations depend on the configured (see isis.persistor above) 
+#
+
+# if using the in-memory, XML, SQL, fileserver or mongo object stores:
+#isis.services.prefix = dom
+#isis.services = todo.ToDoItems
+
+
+# if using the DataNucleus object store
+#isis.services.prefix = 
+isis.services = objstore.jdo.todo.ToDoItemsJdo,\
+                fixture.todo.ToDoItemsFixturesService,\
+                org.apache.isis.core.metamodel.services.bookmarks.BookmarkServiceDefault,\
+                org.apache.isis.objectstore.jdo.service.RegisterEntities,\
+                org.apache.isis.objectstore.jdo.applib.service.exceprecog.ExceptionRecognizerCompositeForJdoObjectStore,\
+                org.apache.isis.viewer.restfulobjects.rendering.eventserializer.RestfulObjectsSpecEventSerializer,\
+                org.apache.isis.applib.services.audit.AuditingService$Stderr,\
+                org.apache.isis.applib.services.publish.PublishingService$Stderr
+                #org.apache.isis.objectstore.jdo.applib.service.audit.AuditingServiceJdo,\
+                #org.apache.isis.objectstore.jdo.applib.service.publish.PublishingServiceJdo
+
+
+# Specify the (optional) test fixtures
+#
+# Fixtures are used to seed the object store with an initial set of data.  For the 
+# in-memory object store, the fixtures are installed on every run.  For other
+# object stores, they are used only when the object store is first initialized.
+#
+#isis.fixtures.prefix= 
+isis.fixtures=fixture.todo.ToDoItemsFixture 
+
+
+
+# ActiveMQ/RA Publishing Service
+# see: https://github.com/danhaywood/isis-publishingservice-activemq-ra
+#com.danhaywood.isis.publishingservice.activemq.ra.connectionFactory=openejb:Resource/ConnectionFactory
+

http://git-wip-us.apache.org/repos/asf/isis/blob/ef0dbe84/example/application/quickstart_wicket_restful_jdo/webapp/src/main/webapp/WEB-INF/logging.properties
----------------------------------------------------------------------
diff --git a/example/application/quickstart_wicket_restful_jdo/webapp/src/main/webapp/WEB-INF/logging.properties b/example/application/quickstart_wicket_restful_jdo/webapp/src/main/webapp/WEB-INF/logging.properties
new file mode 100644
index 0000000..f9cbe50
--- /dev/null
+++ b/example/application/quickstart_wicket_restful_jdo/webapp/src/main/webapp/WEB-INF/logging.properties
@@ -0,0 +1,93 @@
+#  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.
+
+
+#
+# Isis uses log4j is used to provide system logging
+#
+log4j.rootCategory=INFO, Console
+#log4j.rootCategory=DEBUG, Console
+
+# The console appender
+log4j.appender.Console=org.apache.log4j.ConsoleAppender
+log4j.appender.Console.target=System.out
+log4j.appender.Console.layout=org.apache.log4j.PatternLayout
+log4j.appender.Console.layout.ConversionPattern=%d{ABSOLUTE}  [%-20c{1} %-10t %-5p]  %m%n
+
+log4j.appender.File=org.apache.log4j.RollingFileAppender
+log4j.appender.File.file=isis.log
+log4j.appender.File.append=false
+log4j.appender.File.layout=org.apache.log4j.PatternLayout
+log4j.appender.File.layout.ConversionPattern=%d [%-20c{1} %-10t %-5p]  %m%n
+
+
+
+
+#log4j.logger.org.apache.isis.viewer.wicket.viewer.integration.wicket.WebRequestCycleForIsis=DEBUG, Console
+#log4j.additivity.org.apache.isis.viewer.wicket.viewer.integration.wicket.WebRequestCycleForIsis=false
+
+
+! turn on the internal log4j debugging flag so we can see what it is doing
+#log4j.debug=true
+
+
+log4j.logger.jdbc.sqlonly=DEBUG, sql, Console
+log4j.additivity.jdbc.sqlonly=false
+
+log4j.logger.jdbc.resultsettable=DEBUG, jdbc, Console
+log4j.additivity.jdbc.resultsettable=false
+
+
+
+log4j.logger.jdbc.audit=WARN,jdbc, Console
+log4j.additivity.jdbc.audit=false
+
+log4j.logger.jdbc.resultset=WARN,jdbc
+log4j.additivity.jdbc.resultset=false
+
+log4j.logger.jdbc.sqltiming=WARN,sqltiming
+log4j.additivity.jdbc.sqltiming=false
+
+log4j.logger.jdbc.connection=FATAL,connection
+log4j.additivity.jdbc.connection=false
+
+
+
+log4j.appender.sql=org.apache.log4j.FileAppender
+log4j.appender.sql.File=./logs/sql.log
+log4j.appender.sql.Append=false
+log4j.appender.sql.layout=org.apache.log4j.PatternLayout
+log4j.appender.sql.layout.ConversionPattern=-----> %d{yyyy-MM-dd HH:mm:ss.SSS} %m%n%n
+
+log4j.appender.sqltiming=org.apache.log4j.FileAppender
+log4j.appender.sqltiming.File=./logs/sqltiming.log
+log4j.appender.sqltiming.Append=false
+log4j.appender.sqltiming.layout=org.apache.log4j.PatternLayout
+log4j.appender.sqltiming.layout.ConversionPattern=-----> %d{yyyy-MM-dd HH:mm:ss.SSS} %m%n%n
+
+log4j.appender.jdbc=org.apache.log4j.FileAppender
+log4j.appender.jdbc.File=./logs/jdbc.log
+log4j.appender.jdbc.Append=false
+log4j.appender.jdbc.layout=org.apache.log4j.PatternLayout
+log4j.appender.jdbc.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss.SSS} %m%n
+
+log4j.appender.connection=org.apache.log4j.FileAppender
+log4j.appender.connection.File=./logs/connection.log
+log4j.appender.connection.Append=false
+log4j.appender.connection.layout=org.apache.log4j.PatternLayout
+log4j.appender.connection.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss.SSS} %m%n
+

http://git-wip-us.apache.org/repos/asf/isis/blob/ef0dbe84/example/application/quickstart_wicket_restful_jdo/webapp/src/main/webapp/WEB-INF/persistor_datanucleus.properties
----------------------------------------------------------------------
diff --git a/example/application/quickstart_wicket_restful_jdo/webapp/src/main/webapp/WEB-INF/persistor_datanucleus.properties b/example/application/quickstart_wicket_restful_jdo/webapp/src/main/webapp/WEB-INF/persistor_datanucleus.properties
new file mode 100644
index 0000000..9228a69
--- /dev/null
+++ b/example/application/quickstart_wicket_restful_jdo/webapp/src/main/webapp/WEB-INF/persistor_datanucleus.properties
@@ -0,0 +1,129 @@
+#  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.
+
+#
+# configuration file for the JDO/DataNucleus objectstore
+#
+
+# identifies @PersistenceCapable entities to be eagerly registered
+# if move class to other package (eg com.mycompany.myapp.dom) then update 
+isis.persistor.datanucleus.RegisterEntities.packagePrefix=dom
+
+
+#
+# DataNucleus' configuration
+#
+#isis.persistor.datanucleus.impl.javax.jdo.PersistenceManagerFactoryClass=org.apache.isis.objectstore.jdo.datanucleus.JDOPersistenceManagerFactoryForIsis
+isis.persistor.datanucleus.impl.datanucleus.autoCreateSchema=true
+isis.persistor.datanucleus.impl.datanucleus.validateTables=true
+isis.persistor.datanucleus.impl.datanucleus.validateConstraints=true
+
+
+# L2 cache (on by default)
+isis.persistor.datanucleus.impl.datanucleus.cache.level2.type=none
+isis.persistor.datanucleus.impl.datanucleus.cache.level2.mode=ENABLE_SELECTIVE
+
+#see http://www.datanucleus.org/products/datanucleus/jdo/transaction_types.html#optimistic
+isis.persistor.datanucleus.impl.datanucleus.persistenceByReachabilityAtCommit=false
+
+
+
+
+
+#############################################################################
+# JDBC connection details
+# (also update the pom.xml to reference the appropriate JDBC driver)
+#############################################################################
+
+
+# uncomment to use JNDI rather than direct JDBC
+#isis.persistor.datanucleus.impl.datanucleus.ConnectionFactoryName=java:comp/env/jdbc/quickstart
+
+# uncomment to use JTA resource
+#isis.persistor.datanucleus.impl.datanucleus.ConnectionFactory2Name=java:comp/env/jdbc/quickstart-nontx
+#isis.persistor.datanucleus.impl.javax.jdo.option.TransactionType=JTA
+
+
+#
+# HSQLDB in-memory
+#
+#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionDriverName=org.hsqldb.jdbcDriver
+#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionURL=jdbc:hsqldb:mem:test
+#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionUserName=sa
+#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionPassword=
+
+#
+# HSQLDB in-memory (using log4jdbc-remix)
+#
+isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionDriverName=net.sf.log4jdbc.DriverSpy
+isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionURL=jdbc:log4jdbc:hsqldb:mem:test
+isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionUserName=sa
+isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionPassword=
+
+
+
+#
+# HSQLDB to file
+#
+#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionDriverName=org.hsqldb.jdbcDriver
+#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionURL=jdbc:hsqldb:file:/tmp/isis-todo-app/hsql-db;hsqldb.write_delay=false;shutdown=true
+#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionUserName=sa
+#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionPassword=
+
+#
+# HSQLDB to file (using log4jdbc-remix)
+#
+#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionDriverName=net.sf.log4jdbc.DriverSpy
+#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionURL=jdbc:log4jdbc:hsqldb:file:/tmp/isis-todo-app/hsql-db;hsqldb.write_delay=false;shutdown=true
+#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionUserName=sa
+#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionPassword=
+
+
+
+#
+# PostgreSQL Server 
+#
+#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionDriverName=org.postgresql.Driver
+#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionURL=jdbc:postgresql://localhost:5432/isis
+#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionUserName=isis
+#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionPassword=isis
+
+#
+# PostgreSQL Server (using log4jdbc-remix)
+#
+#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionDriverName=net.sf.log4jdbc.DriverSpy
+#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionURL=jdbc:log4jdbc:postgresql://localhost:5432/isis
+#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionUserName=isis
+#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionPassword=isis
+
+
+
+#
+# MS SQL Server
+#
+#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionDriverName=com.microsoft.sqlserver.jdbc.SQLServerDriver
+#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionURL=jdbc:sqlserver://127.0.0.1:1433;instance=.;databaseName=quickstart
+#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionUserName=sa
+#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionPassword=p4ssword
+
+#
+# MS SQL Server (using log4jdbc-remix)
+#
+#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionDriverName=net.sf.log4jdbc.DriverSpy
+#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionURL=jdbc:log4jdbc:sqlserver://127.0.0.1:1433;instance=SQLEXPRESS;databaseName=jdo
+#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionUserName=jdo
+#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionPassword=jdopass

http://git-wip-us.apache.org/repos/asf/isis/blob/ef0dbe84/example/application/quickstart_wicket_restful_jdo/webapp/src/main/webapp/WEB-INF/shiro.ini
----------------------------------------------------------------------
diff --git a/example/application/quickstart_wicket_restful_jdo/webapp/src/main/webapp/WEB-INF/shiro.ini b/example/application/quickstart_wicket_restful_jdo/webapp/src/main/webapp/WEB-INF/shiro.ini
new file mode 100644
index 0000000..a643d86
--- /dev/null
+++ b/example/application/quickstart_wicket_restful_jdo/webapp/src/main/webapp/WEB-INF/shiro.ini
@@ -0,0 +1,93 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+[main]
+
+contextFactory = org.apache.isis.security.shiro.IsisLdapContextFactory
+contextFactory.url = ldap://localhost:10389
+contextFactory.authenticationMechanism = CRAM-MD5
+contextFactory.systemAuthenticationMechanism = simple
+contextFactory.systemUsername = uid=admin,ou=system
+contextFactory.systemPassword = secret
+
+ldapRealm = org.apache.isis.security.shiro.IsisLdapRealm
+ldapRealm.contextFactory = $contextFactory
+
+ldapRealm.searchBase = ou=groups,o=mojo
+ldapRealm.groupObjectClass = groupOfUniqueNames
+ldapRealm.uniqueMemberAttribute = uniqueMember
+ldapRealm.uniqueMemberAttributeValueTemplate = uid={0}
+
+# optional mapping from physical groups to logical application roles
+#ldapRealm.rolesByGroup = \
+#    LDN_USERS: user_role,\
+#    NYK_USERS: user_role,\
+#    HKG_USERS: user_role,\
+#    GLOBAL_ADMIN: admin_role,\
+#    DEMOS: self-install_role
+
+ldapRealm.permissionsByRole=\
+   user_role = *:ToDoItemsJdo:*:*,\
+               *:ToDoItem:*:*; \
+   self-install_role = *:ToDoItemsFixturesService:install:* ; \
+   admin_role = *
+
+# to use ldap...
+# (see docs for details of how to setup users/groups in Apache Directory Studio).
+#securityManager.realms = $ldapRealm
+
+# to use .ini file
+securityManager.realms = $iniRealm
+
+
+
+# -----------------------------------------------------------------------------
+# Users and their assigned roles
+#
+# Each line conforms to the format defined in the
+# org.apache.shiro.realm.text.TextConfigurationRealm#setUserDefinitions JavaDoc
+# -----------------------------------------------------------------------------
+
+[users]
+# user = password, role1, role2, role3, ...
+
+
+sven = pass, admin_role
+dick = pass, user_role, self-install_role
+bob  = pass, user_role, self-install_role
+joe  = pass, user_role, self-install_role
+guest = guest, user_role
+
+
+
+# -----------------------------------------------------------------------------
+# Roles with assigned permissions
+# 
+# Each line conforms to the format defined in the
+# org.apache.shiro.realm.text.TextConfigurationRealm#setRoleDefinitions JavaDoc
+# -----------------------------------------------------------------------------
+
+[roles]
+# role = perm1, perm2, perm3, ...
+# perm in format: packageName:className:memberName:r,w
+
+user_role =   *:ToDoItemsJdo:*:*,\
+              *:ToDoItem:*:*
+self-install_role = *:ToDoItemsFixturesService:install:*
+admin_role = *

http://git-wip-us.apache.org/repos/asf/isis/blob/ef0dbe84/example/application/quickstart_wicket_restful_jdo/webapp/src/main/webapp/WEB-INF/viewer_restfulobjects.properties
----------------------------------------------------------------------
diff --git a/example/application/quickstart_wicket_restful_jdo/webapp/src/main/webapp/WEB-INF/viewer_restfulobjects.properties b/example/application/quickstart_wicket_restful_jdo/webapp/src/main/webapp/WEB-INF/viewer_restfulobjects.properties
new file mode 100644
index 0000000..bda9809
--- /dev/null
+++ b/example/application/quickstart_wicket_restful_jdo/webapp/src/main/webapp/WEB-INF/viewer_restfulobjects.properties
@@ -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.
+
+#
+# configuration file for the Restful Objects viewer
+#
+
+# the baseUrl for hrefs in the events generated by the RO EventSerializer 
+isis.viewer.restfulobjects.RestfulObjectsSpecEventSerializer.baseUrl=http://localhost:8080/restful/
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/ef0dbe84/example/application/quickstart_wicket_restful_jdo/webapp/src/main/webapp/WEB-INF/viewer_wicket.properties
----------------------------------------------------------------------
diff --git a/example/application/quickstart_wicket_restful_jdo/webapp/src/main/webapp/WEB-INF/viewer_wicket.properties b/example/application/quickstart_wicket_restful_jdo/webapp/src/main/webapp/WEB-INF/viewer_wicket.properties
new file mode 100644
index 0000000..6d50e1c
--- /dev/null
+++ b/example/application/quickstart_wicket_restful_jdo/webapp/src/main/webapp/WEB-INF/viewer_wicket.properties
@@ -0,0 +1,39 @@
+#  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.
+
+#
+# configuration file for the Wicket viewer
+#
+
+#
+# The maximum length of titles to display in standalone or parented tables.
+# Titles longer than this length will be truncated with trailing ellipses (...)
+#
+# For example, if set to 12, the title
+# "Buy milk on 15-Feb-13" will be truncated to "Buy milk ..."
+#
+isis.viewer.wicket.maxTitleLengthInStandaloneTables=12
+isis.viewer.wicket.maxTitleLengthInParentedTables=9
+
+
+isis.viewer.wicket.datePattern=dd-MM-yyyy
+isis.viewer.wicket.dateTimePattern=dd-MM-yyyy HH:mm
+isis.viewer.wicket.datePickerPattern=dd-mm-yy
+
+#isis.viewer.wicket.datePattern=dd/MM/yy
+#isis.viewer.wicket.dateTimePattern=dd/MM/yy HH:mm
+#isis.viewer.wicket.datePickerPattern=dd/mm/y

http://git-wip-us.apache.org/repos/asf/isis/blob/ef0dbe84/example/application/quickstart_wicket_restful_jdo/webapp/src/main/webapp/WEB-INF/web.xml
----------------------------------------------------------------------
diff --git a/example/application/quickstart_wicket_restful_jdo/webapp/src/main/webapp/WEB-INF/web.xml b/example/application/quickstart_wicket_restful_jdo/webapp/src/main/webapp/WEB-INF/web.xml
new file mode 100644
index 0000000..c61cb87
--- /dev/null
+++ b/example/application/quickstart_wicket_restful_jdo/webapp/src/main/webapp/WEB-INF/web.xml
@@ -0,0 +1,287 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+         http://www.apache.org/licenses/LICENSE-2.0
+         
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+-->
+<web-app id="WebApp_ID" version="2.4"
+    xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
+
+    <display-name>Quickstart Wicket/RestfulObjects app</display-name>
+
+    <welcome-file-list>
+        <welcome-file>about/index.html</welcome-file>
+    </welcome-file-list>
+
+    <!-- shiro security configuration -->
+    <listener>
+        <listener-class>org.apache.shiro.web.env.EnvironmentLoaderListener</listener-class>
+    </listener>
+
+    <filter>
+        <filter-name>ShiroFilter</filter-name>
+        <filter-class>org.apache.shiro.web.servlet.ShiroFilter</filter-class>
+    </filter>
+
+    <filter-mapping>
+        <filter-name>ShiroFilter</filter-name>
+        <url-pattern>/*</url-pattern>
+    </filter-mapping>
+
+
+
+    <!-- which configuration directory to read overloaded property files from -->
+    <!-- 
+    Normally configuration like this should be done from outside your web 
+    application. Especially if your configuration is not know in advance or
+    if it can change depending on where the application gets deployed.
+    
+    For instance to configure this in Tomcat outside the application WAR add
+    the following line to your application context ( For more detail see:
+    http://tomcat.apache.org/tomcat-7.0-doc/config/context.html#Context_Parameters )
+     
+    <Parameter name="isis.config.dir" value="/usr/local/tomcat/conf/"
+         override="true"/>
+         
+    If your configuration directory is fixed you can enable the following 
+    context parameter in here and forget about the outside part.
+         
+    <context-param>
+      <param-name>isis.config.dir</param-name>
+      <param-value>location of your config directory if fixed</param-value>
+    </context-param>
+    -->
+
+
+    <!--
+    determines which additional configuration files to search for 
+     -->
+    <context-param>
+        <param-name>isis.viewers</param-name>
+        <param-value>wicket,restfulobjects</param-value>
+    </context-param>
+
+
+
+
+    <!-- cache static resources for 1 day -->
+    <filter>
+        <filter-name>ResourceCachingFilter</filter-name>
+        <filter-class>org.apache.isis.core.webapp.content.ResourceCachingFilter</filter-class>
+        <init-param>
+            <param-name>CacheTime</param-name>
+            <param-value>86400</param-value>
+        </init-param>
+    </filter>
+    <filter-mapping>
+        <filter-name>ResourceCachingFilter</filter-name>
+        <url-pattern>*.js</url-pattern>
+    </filter-mapping>
+    <filter-mapping>
+        <filter-name>ResourceCachingFilter</filter-name>
+        <url-pattern>*.css</url-pattern>
+    </filter-mapping>
+    <filter-mapping>
+        <filter-name>ResourceCachingFilter</filter-name>
+        <url-pattern>*.png</url-pattern>
+    </filter-mapping>
+    <filter-mapping>
+        <filter-name>ResourceCachingFilter</filter-name>
+        <url-pattern>*.jpg</url-pattern>
+    </filter-mapping>
+    <filter-mapping>
+        <filter-name>ResourceCachingFilter</filter-name>
+        <url-pattern>*.gif</url-pattern>
+    </filter-mapping>
+    <filter-mapping>
+        <filter-name>ResourceCachingFilter</filter-name>
+        <url-pattern>*.html</url-pattern>
+    </filter-mapping>
+    
+    <servlet>
+        <servlet-name>Resource</servlet-name>
+        <servlet-class>org.apache.isis.core.webapp.content.ResourceServlet</servlet-class>
+    </servlet>
+    <servlet-mapping>
+        <servlet-name>Resource</servlet-name>
+        <url-pattern>*.css</url-pattern>
+    </servlet-mapping>
+    <servlet-mapping>
+        <servlet-name>Resource</servlet-name>
+        <url-pattern>*.png</url-pattern>
+    </servlet-mapping>
+    <servlet-mapping>
+        <servlet-name>Resource</servlet-name>
+        <url-pattern>*.jpg</url-pattern>
+    </servlet-mapping>
+    <servlet-mapping>
+        <servlet-name>Resource</servlet-name>
+        <url-pattern>*.gif</url-pattern>
+    </servlet-mapping>
+    <servlet-mapping>
+        <servlet-name>Resource</servlet-name>
+        <url-pattern>*.js</url-pattern>
+    </servlet-mapping>
+    <servlet-mapping>
+        <servlet-name>Resource</servlet-name>
+        <url-pattern>*.html</url-pattern>
+    </servlet-mapping>
+    
+
+
+    <!--
+    -
+    - config specific to the wicket-viewer
+    -
+    -->
+    <filter>
+        <filter-name>WicketFilter</filter-name>
+        <filter-class>org.apache.wicket.protocol.http.WicketFilter</filter-class>
+        <init-param>
+            <param-name>applicationClassName</param-name>
+            <param-value>app.QuickStartApplication</param-value>
+        </init-param>
+    </filter>
+    <filter-mapping>
+        <filter-name>WicketFilter</filter-name>
+        <url-pattern>/wicket/*</url-pattern>
+    </filter-mapping>
+
+
+    <context-param>
+        <param-name>configuration</param-name>
+        <!-- 
+        <param-value>deployment</param-value>
+         -->
+        <param-value>development</param-value>
+    </context-param>
+    
+   
+    <!--
+    -
+    - config specific to the restfulobjects-viewer
+    -
+    -->
+
+    <!--
+    THE FOLLOWING CONFIGURATION IS NOT REQUIRED IF THE WICKET VIEWER IS IN USE.
+    IF THE WICKET VIEWER CONFIGURATION IS REMOVED, THEN UNCOMMENT
+    
+    <listener>
+        <listener-class>org.apache.isis.core.webapp.IsisWebAppBootstrapper</listener-class>
+    </listener>
+
+    <context-param>
+        <param-name>deploymentType</param-name>
+        <param-value>SERVER_EXPLORATION</param-value>
+    </context-param>
+
+    <context-param>
+        <param-name>isis.viewers</param-name>
+        <param-value>restfulobjects</param-value>
+    </context-param>    
+    -->    
+    
+    <!-- bootstrap the RestEasy framework -->
+    <listener>
+        <listener-class>org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap</listener-class>
+    </listener>
+
+    <!-- used by RestEasy to determine the JAX-RS resources and other related configuration -->
+    <context-param>
+        <param-name>javax.ws.rs.Application</param-name>
+        <param-value>org.apache.isis.viewer.restfulobjects.server.RestfulObjectsApplication</param-value>
+    </context-param>
+    
+    <context-param>
+        <param-name>resteasy.servlet.mapping.prefix</param-name>
+        <param-value>/restful/</param-value>
+    </context-param>
+    
+
+    <!-- authenticate user, set up an Isis session -->
+    <filter>
+        <filter-name>IsisSessionFilterForRestfulObjects</filter-name>
+        <filter-class>org.apache.isis.core.webapp.IsisSessionFilter</filter-class>
+        <!-- authentication required for REST -->
+        <init-param>
+            <param-name>authenticationSessionStrategy</param-name>
+            <param-value>org.apache.isis.viewer.restfulobjects.server.authentication.AuthenticationSessionStrategyBasicAuth</param-value>
+        </init-param>
+        <init-param>
+            <!-- what to do if no session was found; we indicate to issue a 401 basic authentication challenge -->
+            <param-name>whenNoSession</param-name>
+            <param-value>basicAuthChallenge</param-value>
+        </init-param>
+    </filter>
+    <filter-mapping>
+        <!-- this is mapped to the entire app; however the IsisSessionFilter will "notice" if the session filter has already been
+             executed for the request pipeline, and if so will do nothing -->
+        <filter-name>IsisSessionFilterForRestfulObjects</filter-name>
+        <servlet-name>RestfulObjectsRestEasyDispatcher</servlet-name>
+    </filter-mapping>
+
+    <servlet>
+        <servlet-name>RestfulObjectsRestEasyDispatcher</servlet-name>
+        <servlet-class>org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher</servlet-class>
+    </servlet>
+    <servlet-mapping>
+        <servlet-name>RestfulObjectsRestEasyDispatcher</servlet-name>
+        <url-pattern>/restful/*</url-pattern>
+    </servlet-mapping>
+
+
+    <!-- 
+    uncomment to use container-managed datasource;
+    for both container-managed (JTA) and non-container-managed transactions
+     -->
+     <!-- 
+    <resource-ref>
+        <description>db</description>
+        <res-ref-name>jdbc/quickstart</res-ref-name>
+        <res-type>javax.sql.DataSource</res-type>
+        <res-auth>Container</res-auth>
+    </resource-ref>
+      -->
+
+    <!--
+    uncomment to use container-managed datasource
+    with container-managed transactions (JTA).
+    -->
+    <!-- 
+    <resource-ref>
+        <description>db</description>
+        <res-ref-name>jdbc/quickstart-nontx</res-ref-name>
+        <res-type>javax.sql.DataSource</res-type>
+        <res-auth>Container</res-auth>
+    </resource-ref>
+     -->
+
+
+    <!-- 
+    ActiveMQ/RA Publishing Service
+    see: https://github.com/danhaywood/isis-publishingservice-activemq-ra
+    ??? is this necessary, though ???
+    <resource-ref> 
+        <description>JMS Connection Factory</description> 
+        <res-ref-name>ConnectionFactory</res-ref-name> 
+        <res-type>javax.jms.ConnectionFactory</res-type> 
+        <res-auth>Container</res-auth> 
+    </resource-ref> 
+    -->
+
+</web-app>

http://git-wip-us.apache.org/repos/asf/isis/blob/ef0dbe84/example/application/quickstart_wicket_restful_jdo/webapp/src/main/webapp/about/images/isis-logo.png
----------------------------------------------------------------------
diff --git a/example/application/quickstart_wicket_restful_jdo/webapp/src/main/webapp/about/images/isis-logo.png b/example/application/quickstart_wicket_restful_jdo/webapp/src/main/webapp/about/images/isis-logo.png
new file mode 100644
index 0000000..5284fe7
Binary files /dev/null and b/example/application/quickstart_wicket_restful_jdo/webapp/src/main/webapp/about/images/isis-logo.png differ