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/03/28 11:35:26 UTC

[02/20] ISIS-381: mothballing HTML viewer, SQL security, LDAP security

http://git-wip-us.apache.org/repos/asf/isis/blob/91a8000b/mothballed/component/viewer/html/tck/src/main/webapp/WEB-INF/web.xml
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/html/tck/src/main/webapp/WEB-INF/web.xml b/mothballed/component/viewer/html/tck/src/main/webapp/WEB-INF/web.xml
new file mode 100644
index 0000000..43154f5
--- /dev/null
+++ b/mothballed/component/viewer/html/tck/src/main/webapp/WEB-INF/web.xml
@@ -0,0 +1,130 @@
+<?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>Apache Isis HTML Viewer</display-name>
+
+    <listener>
+        <listener-class>org.apache.isis.core.webapp.IsisWebAppBootstrapper</listener-class>
+    </listener>
+
+    <context-param>
+        <param-name>isis.viewers</param-name>
+        <param-value>html</param-value>
+    </context-param>
+
+	<filter>
+		<filter-name>IsisSessionFilter</filter-name>
+		<filter-class>org.apache.isis.core.webapp.IsisSessionFilter</filter-class>
+		<init-param>
+			<param-name>logonPage</param-name>
+			<param-value>/logon.app</param-value>
+		</init-param>
+	</filter>
+
+	<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>*.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>IsisSessionFilter</filter-name>
+    	<url-pattern>*.app</url-pattern>
+    </filter-mapping>
+    
+    <servlet>
+        <servlet-name>Logon</servlet-name>
+        <servlet-class>org.apache.isis.viewer.html.servlet.LogonServlet</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>Controller</servlet-name>
+        <servlet-class>org.apache.isis.viewer.html.servlet.ControllerServlet</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>Resource</servlet-name>
+        <servlet-class>org.apache.isis.core.webapp.content.ResourceServlet</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>Forward</servlet-name>
+        <servlet-class>org.apache.isis.core.webapp.routing.ForwardingServlet</servlet-class>
+        <init-param>
+            <param-name>forwardTo</param-name>
+            <param-value>logon.app</param-value>
+        </init-param>
+    </servlet>
+
+    <servlet-mapping>
+        <servlet-name>Logon</servlet-name>
+        <url-pattern>/logon.app</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>Controller</servlet-name>
+        <url-pattern>*.app</url-pattern>
+    </servlet-mapping>
+
+    <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>Forward</servlet-name>
+        <url-pattern>/</url-pattern>
+    </servlet-mapping>
+	
+</web-app>

http://git-wip-us.apache.org/repos/asf/isis/blob/91a8000b/mothballed/component/viewer/html/tck/src/main/webapp/default.css
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/html/tck/src/main/webapp/default.css b/mothballed/component/viewer/html/tck/src/main/webapp/default.css
new file mode 100644
index 0000000..04efa7d
--- /dev/null
+++ b/mothballed/component/viewer/html/tck/src/main/webapp/default.css
@@ -0,0 +1,933 @@
+/*
+ *  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.
+ */
+/* Start Global styles */
+
+body {
+  background: #101254;
+  text-align: center;
+}
+#wrapper {
+  width: 980px;
+  min-height: 800px;
+  border:3px solid #7F81C0;
+  margin:8px auto;
+  text-align: left;
+  background: white;
+}
+
+.header-icon > img {
+	max-width: 40px;
+	height: 40px;
+}
+	
+BODY {
+	font-family: Arial, Sans-Serif;
+	margin: 0 0 10px 0;
+	color: black;
+
+/*
+	background: url(default-images/poweredby-logo.png);
+	background-repeat: no-repeat;
+	background-position: 95% 95%;
+*/
+}
+
+IMG {
+	border: 0;
+}
+
+A {
+	text-decoration: none;
+}
+
+A:hover {
+	text-decoration: underline;
+}
+
+/* End Global styles */ /* Start Heading */ 
+
+div#site-header:after {
+	bottom: 0px;
+	display: block;
+	text-align: right;
+	float:right;
+	bottom: 0;
+	font-size: 70%;
+	color: gray;
+}
+
+div#site-header {
+	background: url(images/banner-bg.png); 
+	background-repeat: repeat-x white-space :   nowrap;
+	list-style: none;
+	margin: 0px;
+	height: 100px;
+}
+
+div#site-logo {
+	background: url(images/banner.png);
+	background-repeat: no-repeat;
+	background-position: left;
+	position: absolute;
+	width: 980px;
+	height: 100px;
+	margin: 0 auto;
+}
+
+div#page-header {
+	display: none;
+}
+
+/* END Heading */
+DIV#body {
+	display: block;
+	padding-bottom: 10px;
+}
+
+div#navigation {
+	margin: 0;
+	padding: 0px;
+}
+
+/* Start options*/
+DIV.options {
+	background-color: #eeeeee;
+	margin: 0;
+	padding: 4px 0px 4px 5px;
+	min-height: 20px;
+	align: right;
+	float:right;
+}
+
+
+DIV.options H4 {
+	display: none;
+}
+
+DIV.options DIV.item {
+	display: inline;
+	border-right: 1px solid #000000;
+	font-family: arial, 'sans serif';
+	font-weight: bold;
+	color: #00000;
+	font-size: 70%;
+	margin: 0 6px 0 6px;
+	padding 0 0 0 0;
+	min-width: 200px;
+}
+
+DIV.options DIV.item IMG {
+	display: none;
+}
+
+DIV.options DIV.item a:link {
+	color: #000000;
+	text-decoration: none;
+	margin: 0 5px 0 0px;
+	padding: 0 2px 0 0px;
+}
+
+DIV.options DIV.item a:hover {
+	background-color: #dddddd;
+	margin: 0 5px 0 0px;
+	padding: 0 2px 0 0px;
+}
+
+DIV.options DIV.item a:visited {
+	color: #000000;
+	text-decoration: none;
+	margin: 0 5px 0 0px;
+	padding: 0 2px 0 0px;
+}
+
+/* End options */ 
+
+/* Start services */
+DIV.services {
+	background-color: #7F81C0;
+	margin: 0;
+	padding: 4px 20px 4px 5px;
+	min-height: 20px;
+
+}
+
+DIV.services H4 {
+	display: none;
+}
+
+DIV.services DIV.item {
+	display: inline;
+	border-right: 1px solid #ffffff;
+	font-family: arial, 'sans serif';
+	font-weight: bold;
+	color: #ffffff;
+	font-size: 70%;
+	margin: 3px;
+}
+
+DIV.services DIV.item IMG {
+	display: none;
+}
+
+DIV.services DIV.item a:link {
+	color: #ffffff;
+	text-decoration: none;
+	margin: 0 5px 0 5px;
+	padding: 0 2px 0 0px;
+}
+
+DIV.services DIV.item a:hover {
+	background-color: #2683E2;
+	margin: 0 5px 0 5px;
+	padding: 0 2px 0 0px;
+}
+
+DIV.services DIV.item a:visited {
+	color: #ffffff;
+	text-decoration: none;
+	margin: 0 5px 0 5px;
+	padding: 0 2px 0 0px;
+}
+
+DIV.services DIV.item-selected {
+	background-color: #2683E2;
+	display: inline;
+	border-right: 1px solid #ffffff;
+	font-family: arial, 'sans serif';
+	font-weight: bold;
+	color: #ffffff;
+	font-size: 70%;
+}
+
+DIV.services DIV.item-selected a:link {
+	color: #ffffff;
+	text-decoration: none;
+	margin: 0 5px 0 5px;
+	padding: 0 2px 0 0px;
+}
+
+DIV.services DIV.item-selected a:hover {
+	background-color: #556677;
+	margin: 0 5px 0 5px;
+	padding: 0 2px 0 0px;
+}
+
+DIV.services DIV.item-selected a:visited {
+	color: #ffffff;
+	text-decoration: none;
+	margin: 0 5px 0 5px;
+	padding: 0 2px 0 0px;
+}
+
+/* End services */ /* Start History */
+DIV.history {
+	background-color: #D6D6D6;
+	margin: 0;
+	padding: 1px 30px 0 5px;
+	min-height: 26px;
+}
+
+DIV.history H4 {
+	display: none;
+}
+
+DIV.history DIV.item {
+	display: inline;
+	border-right: 1px solid #ffffff;
+	font-family: arial, 'sans serif';
+	font-weight: bold;
+	color: #29357D;
+	font-size: 70%;
+}
+
+DIV.history DIV.item IMG {
+	position: relative;
+	top: 4px;
+	height: 16px;
+	padding: 0 5px 0 0px;
+}
+
+DIV.history DIV.item a:link {
+	color: #29357D;
+	text-decoration: none;
+	margin: 5px;
+	padding: 1px 3px 1px 3px;
+}
+
+DIV.history DIV.item a:hover {
+	background-color: #B7B6B6;
+	padding: 1px 3px 1px 3px;
+}
+
+DIV.history DIV.item a:visited {
+	color: #29357D;
+	text-decoration: none;
+	padding: 1px 3px 1px 3px;
+}
+
+DIV.history DIV.item-selected {
+	background-color: #2683E2;
+	display: inline;
+	border-right: 1px solid #ffffff;
+	font-family: arial, 'sans serif';
+	font-weight: bold;
+	color: #29357D;
+	font-size: 70%;
+	height: 30px;
+}
+
+DIV.history DIV.item-selected a:hover {
+	background-color: #556677;
+	padding: 1px 3px 1px 3px;
+}
+
+DIV.history DIV.item-selected a:link {
+	color: #29357D;
+	text-decoration: none;
+	margin: 10px;
+	padding: 1px 3px 1px 3px;
+}
+
+DIV.history DIV.item-selected a:visited {
+	color: #29357D;
+	text-decoration: none;
+	padding: 1px 3px 1px 3px;
+}
+
+/* INVISIBLE character for empty item. FIREFOX ONLY*/
+DIV.history:after {
+	content: "X";
+	display: inline;
+	text-align: right;
+	font-size: 70%;
+	color: #D6D6D6;
+}
+
+/* End History */ /* Start Context */
+div#context {
+	background-color: #F0F0F0;
+	margin: 0;
+	padding: 1px 30px 0 7px;
+	min-height: 26px;
+}
+
+div#context span.disabled {
+	display: inline;
+	font-family: arial, 'sans serif';
+	font-weight: normal;
+	color: #666666;
+	font-size: 70%;
+	padding: 0px 5px 0px 7px;
+	white-space: nowrap;
+}
+
+div#context span.disabled IMG {
+	display: none
+}
+
+div#context span.disabled a:link {
+	color: #29357D;
+	text-decoration: none;
+	margin: 5px;
+	padding: 1px 3px 1px 3px;
+}
+
+div#context span.disabled a:hover {
+	background-color: #B7B6B6;
+	padding: 1px 3px 1px 3px;
+}
+
+div#context span.disabled a:visited {
+	color: #29357D;
+	text-decoration: none;
+	padding: 1px 3px 1px 3px;
+}
+
+div#context a.linked {
+	display: inline;
+	font-family: arial, 'sans serif';
+	font-weight: normal;
+	color: #29357D;
+	font-size: 70%;
+	padding: 0px 5px 0px 7px;
+}
+
+div#context a.linked IMG {
+	display: none
+}
+
+div#context a.linked a:link {
+	color: #29357D;
+	text-decoration: none;
+	margin: 5px;
+	padding: 1px 3px 1px 3px;
+}
+
+div#context a.linked  a:hover {
+	background-color: #29357D;
+	padding: 1px 3px 1px 3px;
+	text-decoration: underline;
+}
+
+div#context a.linked  a:visited {
+	color: #29357D;
+	text-decoration: none;
+	padding: 1px 3px 1px 3px;
+}
+
+/* INVISIBLE character for empty breadcrumbs. FIREFOX ONLY*/
+span.disabled:after {
+	content: "X";
+	display: inline;
+	text-align: right;
+	font-size: 70%;
+	color: #F0F0F0;
+}
+
+/* End Context */ /*
+div#help-bar {
+	position: relative;
+	right: 50px;
+	top: 10px;
+	text-align: right; 
+	font-family : arial, 'sans serif'; 
+	font-weight : normal;  
+	color: #0000FF; 
+	font-size : 90%; 
+	line-height : 110%;
+	text-decoration: underline;
+	height: 22px;
+}
+*/
+DIV#body DIV#view {
+	position: relative;
+	top: 0px;
+	left: 0px;
+	margin: 0px;
+}
+
+/* Start of Message Header */
+DIV.message-header {
+	position: relative;
+	top: 10px;
+	padding: 5px 25px 5px 25px;
+	margin: 0 50px 0 255px;
+	vertical-align: middle;
+	COLOR: #003366;
+	FONT-WEIGHT: bold;
+	FONT-SIZE: 80%;
+	LEFT: auto;
+	FONT-STYLE: normal;
+	FONT-FAMILY: Verdana, Geneva, Arial, Helvetica, sans-serif;
+	width: 40%;
+}
+
+DIV.message-header DIV.warning {
+	COLOR: #ff0033;
+	padding: 5px 25px 5px 25px;
+	background: url(default-images/sign-warning.png);
+	background-repeat: no-repeat;
+	background-color: #D6D6D6;
+	background-position: 5px 5px;
+}
+
+DIV.message-header DIV.message {
+	COLOR: #003366;
+	padding: 5px 25px 5px 25px;
+	background: url(default-images/sign-info.png);
+	background-repeat: no-repeat;
+	background-color: #D6D6D6;
+	background-position: 5px 5px;
+}
+
+DIV.message-header DIV.message {
+	FONT-WEIGHT: normal;
+}
+
+/* End of Message Header */ /* Start of Object Header */
+DIV.header {
+	position: relative;
+	top: 40px;
+	display: block;
+	background-color: #F0F0F0;
+	min-height: 48px;
+	margin: 0 50px 0 280px;
+
+}
+
+SPAN.header-icon IMG {
+	float: left;
+}
+
+SPAN.header-text {
+	float: left;
+	position: relative;
+	top: 10px;
+	margin-left: 7px;
+	FONT-WEIGHT: bold;
+	FONT-SIZE: 16px;
+	LEFT: auto;
+	COLOR: #003366;
+	FONT-STYLE: normal;
+	FONT-FAMILY: Verdana, Geneva, Arial, Helvetica, sans-serif;
+}
+
+/* End of Object Header */ /* Start of Object Contents */
+DIV#content {
+	position: relative;
+	display: block;
+	top: 40px;
+	margin: 0 50px 10px 280px;
+}
+
+/* Start of Object Fields */
+DIV.field {
+	margin: 0;
+	padding: 5px 0px 5px 0px;
+	border-top: 1px solid #666666;
+	min-height: 20px;
+}
+
+DIV.field SPAN.value IMG,DIV.field DIV.value IMG {
+	position: relative;
+	top: 3px;
+	margin: 0px 5px 0 0;
+	height: 16px;
+}
+
+DIV.field SPAN.value A,DIV.field DIV.value A {
+	position: relative;
+	top: -2px;
+	margin: 0px 5px 0 0;
+	height: 16px;
+}
+
+DIV.field DIV.icon IMG {
+	position: relative;
+	top: 0px;
+	margin: 0px 5px 0 0;
+	height: 16px;
+}
+
+.label,.value {
+	font-size: 80%;
+	color: #333399;
+}
+
+DIV.field DIV.icon {
+	display: inline;
+	color: #333399;
+	position: absolute;
+	left: 200px;
+}
+
+DIV.field span.label,DIV.field DIV.label {
+	width: 170px;
+	display: block;
+	/*content: ":";*/
+	margin: 0 0 -18px 7px;
+}
+
+DIV.field span.separator {
+	display: inline;
+	position: relative;
+	margin: 0 0 -15px 180px;
+	vertical-align: top;
+}
+
+DIV.field span.value, DIV.field DIV.value, DIV.field INPUT.value, DIV.field SELECT.value
+	{
+	top: -2px;
+	position: relative;
+	margin: 0px 10px -5px 0px;
+	display: inline;
+}
+
+DIV.field span.value PRE {
+	color: #333399;
+	margin: 0;
+	font-family: inherit;
+}
+
+
+DIV.field textarea.value {
+	font-family: inherit;
+}
+
+
+DIV.field span.optional {
+	margin: -35px 0 0 0;
+	font-size: 70%;
+	color: grey;
+}
+
+DIV.field span.required {
+	display: inline;
+	position: relative;
+	margin: 0;
+	vertical-align: top;
+	color: red;
+}
+
+DIV.field span.error {
+	display: inline;
+	position: relative;
+	color: red;
+	font-size: 70%;
+}
+
+/* INVISIBLE character for empty value FIREFOX ONLY*/
+DIV.field span.value:after {
+	content: "X";
+	display: inline;
+	text-align: right;
+	font-size: 70%;
+	color: white;
+}
+
+/* INVISIBLE character for empty value FIREFOX ONLY*/
+DIV.field span.label:after {
+	content: "X";
+	display: inline;
+	text-align: right;
+	font-size: 70%;
+	color: white;
+}
+
+/* End of Object Fields */ /* Start of Object Table */
+DIV#content TABLE {
+	position: relative;
+	float: left;
+	width: 100%;
+	border: 0;
+	margin: 0 0 10px 0;
+	border-collapse: collapse;
+}
+
+DIV#content TH {
+	padding: 6px;
+	border: 1px solid #ffffff;
+	background-color: #D6D6D6;
+	font-family: arial, 'sans serif';
+	font-weight: bold;
+	color: black;
+	font-size: 70%;
+}
+
+DIV#content TD {
+	background-color: #ffffff;
+	border-right: 0;
+	border-left: 0;
+	border-bottom: 1px solid black;
+	padding: 6px;
+	font-family: arial, 'sans serif';
+	font-weight: normal;
+	font-size: 80%;
+	color: #333399;
+	margin: 0;
+	text-align: left;
+}
+
+DIV#content TD.rowstart {
+	background-color: #F0F0F0;
+}
+
+DIV#content TD A:visited {
+	color: #0000FF;
+}
+
+DIV#content H4 {
+	font-family: arial, 'sans serif';
+	font-weight: normal;
+	color: #000000;
+	font-size: 70%;
+	border-top: 1px solid black;
+	margin: -2px 0 0 0px;
+	padding: 5px;
+}
+
+TD DIV.icon {
+	font-size: 100%;
+	margin-top: 5px;
+}
+
+TD DIV.icon IMG {
+	float: left;
+	margin: -1px 5px 5px 0px;
+	height: 16px;
+}
+
+TD DIV.action-button {
+	background-color: #ffffff;
+	font-size: 130%;
+	text-decoration: none;
+}
+
+/* End of Object Table */
+INPUT.action-button,DIV.action-button {
+	background-color: #F0F0F0;
+	padding: 10px;
+	display: block;
+	margin: 0;
+	min-height: 20px;
+}
+
+INPUT.action-button,DIV.action-button A {
+	background: url(default-images/bg-button.gif);
+	background-repeat: repeat-x;
+	padding: 2px;
+	margin: 5px;
+	border: 1px solid #333399;
+	font-family: arial, 'sans serif';
+	font-weight: normal;
+	color: #000000;
+	font-size: 70%;
+	font-weight: normal;
+	text-align: center;
+}
+
+DIV.action-button a:link {
+	color: #000000;
+}
+
+DIV.action-button a:visited {
+	color: #000000;
+}
+
+DIV.action-button a:hover {
+	color: #000000;
+	text-decoration: none;
+}
+
+INPUT.action-button,DIV.action-button INPUT {
+	float: left;
+}
+
+/* End of Object Contents */ /* Start of Object Actions Menu */
+DIV#body DIV#view DIV#menu {
+	position: relative;
+	top: 40px;
+	left: 0;
+	background-color: #ffffff;
+	border-top: 1px solid #00336F;
+	margin: 0px;
+	width: 210px;
+	display: block;
+	float: left;
+}
+
+DIV#body DIV#menu H3 {
+	display: none;
+}
+
+DIV#menu SPAN.name {
+	display: block;
+	font-size: 80%;
+	background-color: #ffffff;
+	color: #333399;
+	line-height: 100%;
+	margin: 0 0 0 10px;
+}
+
+DIV.menu-item  a:link {
+	color: #333399;
+}
+
+DIV.menu-item  a:visited {
+	color: #333399;
+}
+
+DIV.submenu-item {
+	font-size: 80%;
+	background-color: #ffffff;
+	color: #1A59A7;
+	margin: 0px;
+	padding: 5px 0px 5px 10px;
+	border-bottom: 1px solid #00336F;
+	line-height: 100%;
+}
+
+DIV.submenu-item DIV.menu-item {
+	background: url(default-images/submenu-bullet.gif);
+	background-repeat: no-repeat;
+	background-position: left;
+	background-color: #ffffff;
+	margin: 0px;
+	line-height: 100%;
+	border: 0;
+	padding: 4px 5px 0px 10px;
+	font-family: arial, 'sans serif';
+	font-weight: normal;
+	color: #1A59A7;
+	font-size: 85%;
+}
+
+DIV.menu-item {
+	background-color: #ffffff;
+	margin: 0px;
+	line-height: 110%;
+	border-bottom: 1px solid #00336F;
+	padding: 5px 5px 5px 10px;
+	font-family: arial, 'sans serif';
+	font-weight: normal;
+	color: #1A59A7;
+	font-size: 80%;
+}
+
+DIV.menu-item DIV.disabled {
+	color: #a0a0a0;
+}
+
+DIV.menu-item a:link {
+	color: #1A59A7;
+}
+
+DIV.menu-item a:visited {
+	color: #1A59A7;
+}
+
+DIV.menu-item a:hover {
+	color: #006666;
+	text-decoration: underline;
+}
+
+DIV.submenu-item DIV.menu-item a:link {
+	color: #1A59A7;
+}
+
+DIV.submenu-item DIV.menu-item a:visited {
+	color: #1A59A7;
+}
+
+DIV.submenu-item DIV.menu-item a:hover {
+	color: #006666;
+	text-decoration: underline;
+}
+
+/* End of Object Menu */
+DIV.page-footer {
+	position: absolute;
+	right: 10px;
+	bottom: 10px;
+	font-size: 50%;
+	color: #333399;
+}
+
+H1 {
+	font-size: 140%;
+	margin-top: -8px;
+}
+
+H2 {
+	font-size: 90%;
+	color: #333399;
+	letter-spacing: 1pt;
+	text-indent:-1pt;
+	margin: 0;
+}
+
+H3 {
+	font-size: 80%;
+	color: #ffffff;
+	letter-spacing: 1pt;
+	text-indent:-1pt;
+	margin: 15px 10px 5px 10px;
+}
+
+H4 {
+	font-size: 80%;
+	color: #333399;
+	letter-spacing: 1pt;
+	text-indent:-1pt;
+	margin: 10px 10px 0px 10px;
+}
+
+DIV.text {
+	font-size: 100%;
+	color: #336699;
+	letter-spacing: 1pt;
+	text-indent:-1pt;
+	margin: 10px 10px 0px 10px;
+}
+
+DIV.error {
+	font-size: 120%;
+	color: #cc0000;
+	letter-spacing: 1pt;
+	text-indent:-1pt;
+	margin: 10px 10px 0px 10px;
+}
+
+PRE.error-trace {
+	font-size: 80%;
+	color: #cc0000;
+	margin: 10px 10px 0px 10px;
+}
+
+DIV#debug { /*	float: left;*/
+	background-color: #F0F0F0;
+	margin: 30px;
+	padding: 1px 10px 0 7px;
+	min-height: 22px;
+	border: 1px;
+}
+
+DIV#debug H4 {
+	display: inline;
+	font-size: 80%;
+	color: #999;
+	margin: 0 5px 0 10px;
+}
+
+DIV#debug DIV.detail {
+	display: inline;
+	font-size: 80%;
+	color: #999;
+	margin: 0 5px 0 10px;
+}
+
+DIV#page-footer {
+	display: none;
+}
+
+SPAN.message {
+	position: relative;
+	top: 30px;
+	font-size: 100%;
+	color: #336699;
+	margin: 40px 0 0 0;
+	padding: 10px;
+}
+/* Think this is now redundant
+DIV.items {
+	position: relative;
+} 
+*/
+
+
+SPAN.about {
+	display: block;
+	padding: 4px;
+}
+
+
+SPAN.user {
+	display: block;
+	padding: 4px;
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/91a8000b/mothballed/component/viewer/html/tck/src/main/webapp/images/banner-bg.png
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/html/tck/src/main/webapp/images/banner-bg.png b/mothballed/component/viewer/html/tck/src/main/webapp/images/banner-bg.png
new file mode 100644
index 0000000..c731c15
Binary files /dev/null and b/mothballed/component/viewer/html/tck/src/main/webapp/images/banner-bg.png differ

http://git-wip-us.apache.org/repos/asf/isis/blob/91a8000b/mothballed/component/viewer/html/tck/src/main/webapp/images/banner.png
----------------------------------------------------------------------
diff --git a/mothballed/component/viewer/html/tck/src/main/webapp/images/banner.png b/mothballed/component/viewer/html/tck/src/main/webapp/images/banner.png
new file mode 100644
index 0000000..adf2159
Binary files /dev/null and b/mothballed/component/viewer/html/tck/src/main/webapp/images/banner.png differ

http://git-wip-us.apache.org/repos/asf/isis/blob/91a8000b/mothballed/example/application/quickstart_html_sql/dom/log4j.properties
----------------------------------------------------------------------
diff --git a/mothballed/example/application/quickstart_html_sql/dom/log4j.properties b/mothballed/example/application/quickstart_html_sql/dom/log4j.properties
new file mode 100644
index 0000000..281bfb6
--- /dev/null
+++ b/mothballed/example/application/quickstart_html_sql/dom/log4j.properties
@@ -0,0 +1,24 @@
+# LOG4J Configuration
+# ===================
+
+# Basic logging goes to "datanucleus.log"
+log4j.appender.A1=org.apache.log4j.FileAppender
+log4j.appender.A1.File=datanucleus.log
+log4j.appender.A1.layout=org.apache.log4j.PatternLayout
+log4j.appender.A1.layout.ConversionPattern=%d{HH:mm:ss,SSS} (%t) %-5p [%c] - %m%n
+#log4j.appender.A1.Threshold=INFO
+
+# Categories
+# Each category can be set to a "level", and to direct to an appender
+
+# Default to DEBUG level for all DataNucleus categories
+log4j.logger.DataNucleus = DEBUG, A1
+
+log4j.category.com.mchange.v2.c3p0=INFO, A1
+log4j.category.com.mchange.v2.resourcepool=INFO, A1
+log4j.category.org.logicalcobwebs.proxool=INFO,A1
+
+
+# Hbase libs logging
+log4j.category.org.apache.hadoop=INFO,A1
+log4j.category.org.apache.zookeeper=INFO,A1
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/91a8000b/mothballed/example/application/quickstart_html_sql/dom/pom.xml
----------------------------------------------------------------------
diff --git a/mothballed/example/application/quickstart_html_sql/dom/pom.xml b/mothballed/example/application/quickstart_html_sql/dom/pom.xml
new file mode 100644
index 0000000..409e8db
--- /dev/null
+++ b/mothballed/example/application/quickstart_html_sql/dom/pom.xml
@@ -0,0 +1,39 @@
+<?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_html_sql</artifactId>
+		<version>1.0.0-SNAPSHOT</version>
+	</parent>
+
+	<artifactId>quickstart_html_sql-dom</artifactId>
+	<name>Quickstart (HTML/SQL) DOM</name>
+
+	<dependencies>
+		<dependency>
+			<groupId>org.apache.isis.core</groupId>
+			<artifactId>isis-core-applib</artifactId>
+		</dependency>
+	</dependencies>
+    
+</project>

http://git-wip-us.apache.org/repos/asf/isis/blob/91a8000b/mothballed/example/application/quickstart_html_sql/dom/src/main/java/dom/todo/ToDoItem.java
----------------------------------------------------------------------
diff --git a/mothballed/example/application/quickstart_html_sql/dom/src/main/java/dom/todo/ToDoItem.java b/mothballed/example/application/quickstart_html_sql/dom/src/main/java/dom/todo/ToDoItem.java
new file mode 100644
index 0000000..e8af026
--- /dev/null
+++ b/mothballed/example/application/quickstart_html_sql/dom/src/main/java/dom/todo/ToDoItem.java
@@ -0,0 +1,225 @@
+/*
+ *  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 dom.todo;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.isis.applib.DomainObjectContainer;
+import org.apache.isis.applib.annotation.Disabled;
+import org.apache.isis.applib.annotation.Hidden;
+import org.apache.isis.applib.annotation.MemberGroups;
+import org.apache.isis.applib.annotation.MemberOrder;
+import org.apache.isis.applib.annotation.MultiLine;
+import org.apache.isis.applib.annotation.ObjectType;
+import org.apache.isis.applib.annotation.Optional;
+import org.apache.isis.applib.annotation.Resolve;
+import org.apache.isis.applib.annotation.Resolve.Type;
+import org.apache.isis.applib.annotation.Title;
+import org.apache.isis.applib.annotation.Where;
+import org.joda.time.LocalDate;
+
+@ObjectType("TODO")
+@MemberGroups({"General", "Detail"})
+public class ToDoItem {
+
+    public static enum Category {
+        Professional, Domestic, Other;
+    }
+
+    // {{ Description
+    private String description;
+
+    @Title
+    @MemberOrder(sequence = "1")
+    public String getDescription() {
+        return description;
+    }
+
+    public void setDescription(final String description) {
+        this.description = description;
+    }
+    // }}
+
+    // {{ Category
+    private Category category;
+
+    @MemberOrder(sequence = "2")
+    public Category getCategory() {
+        return category;
+    }
+
+    public void setCategory(final Category category) {
+        this.category = category;
+    }
+    // }}
+
+    // {{ DueBy (property)
+    private LocalDate dueBy;
+
+    @MemberOrder(name="Detail", sequence = "3")
+    @Optional
+    public LocalDate getDueBy() {
+        return dueBy;
+    }
+
+    public void setDueBy(final LocalDate dueBy) {
+        this.dueBy = dueBy;
+    }
+    // }}
+
+    // {{ Done
+    private boolean done;
+
+    @Disabled
+    @MemberOrder(sequence = "4")
+    public boolean getDone() {
+        return done;
+    }
+
+    public void setDone(final boolean done) {
+        this.done = done;
+    }
+    // }}
+
+    // {{ Notes (property)
+    private String notes;
+
+    @Hidden(where=Where.ALL_TABLES)
+    @Optional
+    @MultiLine(numberOfLines=5)
+    @MemberOrder(name="Detail", sequence = "6")
+    public String getNotes() {
+        return notes;
+    }
+
+    public void setNotes(final String notes) {
+        this.notes = notes;
+    }
+    // }}
+
+    // {{ OwnedBy (property, hidden)
+    private String ownedBy;
+
+    @Hidden
+    public String getOwnedBy() {
+        return ownedBy;
+    }
+
+    public void setOwnedBy(final String ownedBy) {
+        this.ownedBy = ownedBy;
+    }
+    // }}
+
+    // {{ markAsDone (action)
+    @MemberOrder(sequence = "1")
+    public ToDoItem markAsDone() {
+        setDone(true);
+        return this;
+    }
+
+    public String disableMarkAsDone() {
+        return done ? "Already done" : null;
+    }
+    // }}
+
+    // {{ markAsNotDone (action)
+    @MemberOrder(sequence = "2")
+    public ToDoItem markAsNotDone() {
+        setDone(false);
+        return this;
+    }
+
+    public String disableMarkAsNotDone() {
+        return !done ? "Not yet done" : null;
+    }
+    // }}
+
+    // {{ dependencies (Collection)
+    private List<ToDoItem> dependencies = new ArrayList<ToDoItem>();
+
+    @Disabled
+    @MemberOrder(sequence = "1")
+    @Resolve(Type.EAGERLY)
+    public List<ToDoItem> getDependencies() {
+        return dependencies;
+    }
+
+    public void setDependencies(final List<ToDoItem> dependencies) {
+        this.dependencies = dependencies;
+    }
+    // }}
+
+    // {{ add (action)
+    @MemberOrder(name="dependencies", sequence = "3")
+    public ToDoItem add(final ToDoItem toDoItem) {
+        getDependencies().add(toDoItem);
+        return this;
+    }
+    public String validateAdd(final ToDoItem toDoItem) {
+        if(getDependencies().contains(toDoItem)) {
+            return "Already a dependency";
+        }
+        if(toDoItem == this) {
+            return "Can't set up a dependency to self";
+        }
+        return null;
+    }
+    // }}
+
+    // {{ remove (action)
+    @MemberOrder(name="dependencies", sequence = "4")
+    public ToDoItem remove(final ToDoItem toDoItem) {
+        getDependencies().remove(toDoItem);
+        return this;
+    }
+    public String disableRemove(final ToDoItem toDoItem) {
+        return getDependencies().isEmpty()? "No dependencies to remove": null;
+    }
+    public String validateRemove(final ToDoItem toDoItem) {
+        if(!getDependencies().contains(toDoItem)) {
+            return "Not a dependency";
+        }
+        return null;
+    }
+    public List<ToDoItem> choices0Remove() {
+        return getDependencies();
+    }
+    // }}
+
+    // {{ injected: DomainObjectContainer
+    @SuppressWarnings("unused")
+    private DomainObjectContainer container;
+
+    public void setDomainObjectContainer(final DomainObjectContainer container) {
+        this.container = container;
+    }
+    // }}
+
+    // {{ injected: ToDoItems
+    @SuppressWarnings("unused")
+    private ToDoItems toDoItems;
+
+    public void setToDoItems(final ToDoItems toDoItems) {
+        this.toDoItems = toDoItems;
+    }
+    // }}
+
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/91a8000b/mothballed/example/application/quickstart_html_sql/dom/src/main/java/dom/todo/ToDoItems.java
----------------------------------------------------------------------
diff --git a/mothballed/example/application/quickstart_html_sql/dom/src/main/java/dom/todo/ToDoItems.java b/mothballed/example/application/quickstart_html_sql/dom/src/main/java/dom/todo/ToDoItems.java
new file mode 100644
index 0000000..6d4c12d
--- /dev/null
+++ b/mothballed/example/application/quickstart_html_sql/dom/src/main/java/dom/todo/ToDoItems.java
@@ -0,0 +1,139 @@
+/*
+ *  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 dom.todo;
+
+import java.util.List;
+
+import com.google.common.base.Objects;
+
+import dom.todo.ToDoItem.Category;
+
+import org.apache.isis.applib.AbstractFactoryAndRepository;
+import org.apache.isis.applib.annotation.ActionSemantics;
+import org.apache.isis.applib.annotation.ActionSemantics.Of;
+import org.apache.isis.applib.annotation.Hidden;
+import org.apache.isis.applib.annotation.MemberOrder;
+import org.apache.isis.applib.annotation.Named;
+import org.apache.isis.applib.annotation.NotInServiceMenu;
+import org.apache.isis.applib.filter.Filter;
+
+@Named("ToDos")
+public class ToDoItems extends AbstractFactoryAndRepository {
+
+    // {{ Id, iconName
+    @Override
+    public String getId() {
+        return "toDoItems";
+    }
+
+    public String iconName() {
+        return "ToDoItem";
+    }
+    // }}
+
+    // {{ notYetDone (action)
+    @ActionSemantics(Of.SAFE)
+    @MemberOrder(sequence = "1")
+    public List<ToDoItem> notYetDone() {
+        return allMatches(ToDoItem.class, new Filter<ToDoItem>() {
+            @Override
+            public boolean accept(final ToDoItem t) {
+                return ownedByCurrentUser(t) && !t.getDone();
+            }
+        });
+    }
+    // }}
+
+    // {{ done (action)
+    @ActionSemantics(Of.SAFE)
+    @MemberOrder(sequence = "2")
+    public List<ToDoItem> done() {
+        return allMatches(ToDoItem.class, new Filter<ToDoItem>() {
+            @Override
+            public boolean accept(final ToDoItem t) {
+                return ownedByCurrentUser(t) && t.getDone();
+            }
+        });
+    }
+    // }}
+
+    // {{ newToDo  (action)
+    @MemberOrder(sequence = "2")
+    public ToDoItem newToDo(
+            @Named("Description") String description, 
+            @Named("Category") Category category) {
+        final String ownedBy = getContainer().getUser().getName();
+        return newToDo(description, category, ownedBy);
+    }
+    // }}
+
+    // {{ newToDo  (hidden)
+    @Hidden // for use by fixtures
+    public ToDoItem newToDo(
+            String description, 
+            Category category, 
+            String ownedBy) {
+        final ToDoItem toDoItem = newTransientInstance(ToDoItem.class);
+        toDoItem.setDescription(description);
+        toDoItem.setCategory(category);
+        toDoItem.setOwnedBy(ownedBy);
+        persist(toDoItem);
+        return toDoItem;
+    }
+    // }}
+
+    // {{ similarTo (action)
+    @NotInServiceMenu
+    @ActionSemantics(Of.SAFE)
+    @MemberOrder(sequence = "3")
+    public List<ToDoItem> similarTo(final ToDoItem toDoItem) {
+        return allMatches(ToDoItem.class, new Filter<ToDoItem>() {
+            @Override
+            public boolean accept(ToDoItem t) {
+                return t != toDoItem && Objects.equal(toDoItem.getCategory(), t.getCategory()) && Objects.equal(toDoItem.getOwnedBy(), t.getOwnedBy());
+            }
+        });
+    }
+    // }}
+    
+    // {{ autoComplete (hidden)
+    @Hidden
+    @MemberOrder(sequence = "1")
+    public List<ToDoItem> autoComplete(final String description) {
+        return allMatches(ToDoItem.class, new Filter<ToDoItem>() {
+            @Override
+            public boolean accept(final ToDoItem t) {
+                return ownedByCurrentUser(t) && t.getDescription().contains(description);
+            }
+
+        });
+    }
+    // }}
+
+    // {{ helpers
+    protected boolean ownedByCurrentUser(final ToDoItem t) {
+        return Objects.equal(t.getOwnedBy(), currentUserName());
+    }
+    protected String currentUserName() {
+        return getContainer().getUser().getName();
+    }
+    // }}
+
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/91a8000b/mothballed/example/application/quickstart_html_sql/dom/src/main/resources/images/AuditEntry.png
----------------------------------------------------------------------
diff --git a/mothballed/example/application/quickstart_html_sql/dom/src/main/resources/images/AuditEntry.png b/mothballed/example/application/quickstart_html_sql/dom/src/main/resources/images/AuditEntry.png
new file mode 100644
index 0000000..950d792
Binary files /dev/null and b/mothballed/example/application/quickstart_html_sql/dom/src/main/resources/images/AuditEntry.png differ

http://git-wip-us.apache.org/repos/asf/isis/blob/91a8000b/mothballed/example/application/quickstart_html_sql/dom/src/main/resources/images/ToDoItem.gif
----------------------------------------------------------------------
diff --git a/mothballed/example/application/quickstart_html_sql/dom/src/main/resources/images/ToDoItem.gif b/mothballed/example/application/quickstart_html_sql/dom/src/main/resources/images/ToDoItem.gif
new file mode 100644
index 0000000..cc536e1
Binary files /dev/null and b/mothballed/example/application/quickstart_html_sql/dom/src/main/resources/images/ToDoItem.gif differ

http://git-wip-us.apache.org/repos/asf/isis/blob/91a8000b/mothballed/example/application/quickstart_html_sql/fixture/pom.xml
----------------------------------------------------------------------
diff --git a/mothballed/example/application/quickstart_html_sql/fixture/pom.xml b/mothballed/example/application/quickstart_html_sql/fixture/pom.xml
new file mode 100644
index 0000000..26d3c53
--- /dev/null
+++ b/mothballed/example/application/quickstart_html_sql/fixture/pom.xml
@@ -0,0 +1,40 @@
+<?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_html_sql</artifactId>
+        <version>1.0.0-SNAPSHOT</version>
+    </parent>
+
+	<artifactId>quickstart_html_sql-fixture</artifactId>
+    
+	<name>Quickstart (HTML/SQL) Fixtures</name>
+
+	<dependencies>
+		<dependency>
+			<groupId>${project.groupId}</groupId>
+			<artifactId>quickstart_html_sql-dom</artifactId>
+		</dependency>
+	</dependencies>
+
+</project>

http://git-wip-us.apache.org/repos/asf/isis/blob/91a8000b/mothballed/example/application/quickstart_html_sql/fixture/src/main/java/fixture/LogonAsSvenFixture.java
----------------------------------------------------------------------
diff --git a/mothballed/example/application/quickstart_html_sql/fixture/src/main/java/fixture/LogonAsSvenFixture.java b/mothballed/example/application/quickstart_html_sql/fixture/src/main/java/fixture/LogonAsSvenFixture.java
new file mode 100644
index 0000000..5bdc6fe
--- /dev/null
+++ b/mothballed/example/application/quickstart_html_sql/fixture/src/main/java/fixture/LogonAsSvenFixture.java
@@ -0,0 +1,30 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+
+package fixture;
+
+import org.apache.isis.applib.fixtures.LogonFixture;
+
+public class LogonAsSvenFixture extends LogonFixture {
+
+    public LogonAsSvenFixture() {
+        super("sven");
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/91a8000b/mothballed/example/application/quickstart_html_sql/fixture/src/main/java/fixture/todo/ToDoItemsFixture.java
----------------------------------------------------------------------
diff --git a/mothballed/example/application/quickstart_html_sql/fixture/src/main/java/fixture/todo/ToDoItemsFixture.java b/mothballed/example/application/quickstart_html_sql/fixture/src/main/java/fixture/todo/ToDoItemsFixture.java
new file mode 100644
index 0000000..b0c7b61
--- /dev/null
+++ b/mothballed/example/application/quickstart_html_sql/fixture/src/main/java/fixture/todo/ToDoItemsFixture.java
@@ -0,0 +1,74 @@
+/*
+ *  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 fixture.todo;
+
+import dom.todo.ToDoItem;
+import dom.todo.ToDoItem.Category;
+import dom.todo.ToDoItems;
+
+import org.apache.isis.applib.fixtures.AbstractFixture;
+
+public class ToDoItemsFixture extends AbstractFixture {
+
+    @Override
+    public void install() {
+        createFiveFor("sven");
+        createThreeFor("dick");
+        createTwoFor("bob");
+        createOneFor("joe");
+
+        // for exploration user
+        createFiveFor("exploration");
+    }
+
+    private void createFiveFor(String ownedBy) {
+        createToDoItem("Buy milk", Category.Domestic, ownedBy);
+        createToDoItem("Pick up laundry", Category.Domestic, ownedBy);
+        createToDoItem("Buy stamps", Category.Domestic, ownedBy);
+        createToDoItem("Write blog post", Category.Professional, ownedBy);
+        createToDoItem("Organize brown bag", Category.Professional, ownedBy);
+    }
+
+    private void createThreeFor(String ownedBy) {
+        createToDoItem("Book car in for service", Category.Domestic, ownedBy);
+        createToDoItem("Buy birthday present for sven", Category.Domestic, ownedBy);
+        createToDoItem("Write presentation for conference", Category.Professional, ownedBy);
+    }
+
+    private void createTwoFor(String ownedBy) {
+        createToDoItem("Write thank you notes", Category.Domestic, ownedBy);
+        createToDoItem("Look into solar panels", Category.Domestic, ownedBy);
+    }
+
+    private void createOneFor(String ownedBy) {
+        createToDoItem("Pitch book idea to publisher", Category.Professional, ownedBy);
+    }
+
+    private ToDoItem createToDoItem(final String description, Category category, String ownedBy) {
+        return toDoItems.newToDo(description, category, ownedBy);
+    }
+
+    private ToDoItems toDoItems;
+
+    public void setToDoItems(final ToDoItems toDoItems) {
+        this.toDoItems = toDoItems;
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/91a8000b/mothballed/example/application/quickstart_html_sql/fixture/src/main/java/fixture/todo/ToDoItemsFixturesService.java
----------------------------------------------------------------------
diff --git a/mothballed/example/application/quickstart_html_sql/fixture/src/main/java/fixture/todo/ToDoItemsFixturesService.java b/mothballed/example/application/quickstart_html_sql/fixture/src/main/java/fixture/todo/ToDoItemsFixturesService.java
new file mode 100644
index 0000000..ddb1203
--- /dev/null
+++ b/mothballed/example/application/quickstart_html_sql/fixture/src/main/java/fixture/todo/ToDoItemsFixturesService.java
@@ -0,0 +1,46 @@
+/*
+ *  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 fixture.todo;
+
+import dom.todo.ToDoItems;
+
+import org.apache.isis.applib.AbstractService;
+import org.apache.isis.applib.annotation.Named;
+
+/**
+ * Enables fixtures to be installed from the application.
+ */
+@Named("Fixtures")
+public class ToDoItemsFixturesService extends AbstractService {
+
+    public void install() {
+        final ToDoItemsFixture fixture = new ToDoItemsFixture();
+        fixture.setContainer(getContainer());
+        fixture.setToDoItems(toDoItems);
+        fixture.install();
+    }
+
+    private ToDoItems toDoItems;
+
+    public void setToDoItems(final ToDoItems toDoItems) {
+        this.toDoItems = toDoItems;
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/91a8000b/mothballed/example/application/quickstart_html_sql/pom.xml
----------------------------------------------------------------------
diff --git a/mothballed/example/application/quickstart_html_sql/pom.xml b/mothballed/example/application/quickstart_html_sql/pom.xml
new file mode 100644
index 0000000..b2f3e61
--- /dev/null
+++ b/mothballed/example/application/quickstart_html_sql/pom.xml
@@ -0,0 +1,261 @@
+<?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>
+
+    <groupId>org.apache.isis.example.application</groupId>
+    <artifactId>quickstart_html_sql</artifactId>
+    <version>1.0.0-SNAPSHOT</version>
+
+    <name>Quickstart (HTML/SQL) App</name>
+
+    <packaging>pom</packaging>
+    
+    <properties>
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
+
+        <isis.version>1.1.1-SNAPSHOT</isis.version>
+        <isis-objectstore-sql.version>1.0.0-SNAPSHOT</isis-objectstore-sql.version>
+        <isis-objectstore-xml.version>1.0.0-SNAPSHOT</isis-objectstore-xml.version>
+        <isis-viewer-dnd.version>1.0.0-SNAPSHOT</isis-viewer-dnd.version>
+        <isis-viewer-scimpi.version>1.0.0-SNAPSHOT</isis-viewer-scimpi.version>
+        <isis-viewer-html.version>1.0.0-SNAPSHOT</isis-viewer-html.version>
+        <isis-security-file.version>1.0.1-SNAPSHOT</isis-security-file.version>
+    </properties>
+
+    <repositories>
+        <repository>
+              <id>apache.snapshots</id>
+              <name>Apache Snapshots</name>
+              <url>https://repository.apache.org/content/repositories/snapshots/</url>
+              <releases>
+                  <enabled>false</enabled>
+              </releases>
+              <snapshots>
+                  <enabled>true</enabled>
+              </snapshots>
+          </repository>
+    </repositories>
+
+    <build>
+        <pluginManagement>
+            <plugins>
+                <plugin>
+                    <groupId>org.apache.maven.plugins</groupId>
+                    <artifactId>maven-compiler-plugin</artifactId>
+                    <version>2.3.1</version>
+                    <configuration>
+                        <source>1.6</source>
+                        <target>1.6</target>
+                    </configuration>
+                    <executions>
+                        <execution>
+                            <id>source</id>
+                            <phase>compile</phase>
+                        </execution>
+                        <execution>
+                            <id>test</id>
+                            <phase>test-compile</phase>
+                        </execution>
+                    </executions>
+                </plugin>
+
+                <plugin>
+                    <groupId>org.apache.maven.plugins</groupId>
+                    <artifactId>maven-surefire-plugin</artifactId>
+                    <version>2.5</version>
+                    <configuration>
+                        <excludes>
+                            <exclude>**/Test*.java</exclude>
+                        </excludes>
+                        <useFile>true</useFile>
+                        <printSummary>false</printSummary>
+                        <outputDirectory>${project.build.directory}/surefire-reports</outputDirectory>
+                    </configuration>
+                </plugin>
+
+                <plugin>
+                    <groupId>org.apache.maven.plugins</groupId>
+                    <artifactId>maven-surefire-report-plugin</artifactId>
+                    <version>2.5</version>
+                    <configuration>
+                        <excludes>
+                            <exclude>**/Test*.java</exclude>
+                        </excludes>
+                        <showSuccess>false</showSuccess>
+                    </configuration>
+                    <executions>
+                        <execution>
+                            <phase>test</phase>
+                        </execution>
+                    </executions>
+                </plugin>
+
+                <plugin>
+                    <groupId>org.mortbay.jetty</groupId>
+                    <artifactId>maven-jetty-plugin</artifactId>
+                    <version>6.1.25</version>
+                </plugin>
+
+				<plugin>
+					<groupId>org.apache.maven.plugins</groupId>
+					<artifactId>maven-shade-plugin</artifactId>
+					<version>1.4</version>
+				</plugin>
+
+				<plugin>
+					<groupId>org.apache.maven.plugins</groupId>
+					<artifactId>maven-antrun-plugin</artifactId>
+					<version>1.6</version>
+					<executions>
+						<execution>
+					        <goals>
+					          <goal>run</goal>
+					        </goals>
+						</execution>
+					</executions>
+				</plugin>
+                <!-- http://simplericity.com/2009/11/10/1257880778509.html -->
+                <plugin>
+                    <groupId>org.simplericity.jettyconsole</groupId>
+                    <artifactId>jetty-console-maven-plugin</artifactId>
+                    <version>1.43</version>
+                </plugin>
+            </plugins>
+        </pluginManagement>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-compiler-plugin</artifactId>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-surefire-report-plugin</artifactId>
+            </plugin>
+        </plugins>
+    </build>
+
+    <modules>
+        <module>dom</module>
+        <module>fixture</module>
+        <module>viewer-html</module>
+    </modules>
+
+    <dependencyManagement>
+        <dependencies>
+
+            <dependency>
+                <groupId>org.apache.isis.core</groupId>
+                <artifactId>isis</artifactId>
+                <version>${isis.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+
+            <dependency>
+                <groupId>org.apache.isis.objectstore</groupId>
+                <artifactId>isis-objectstore-xml</artifactId>
+                <version>${isis-objectstore-xml.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+
+            <dependency>
+                <groupId>org.apache.isis.objectstore</groupId>
+                <artifactId>isis-objectstore-sql</artifactId>
+                <version>${isis-objectstore-sql.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+
+            <dependency>
+                <groupId>org.apache.isis.viewer</groupId>
+                <artifactId>isis-viewer-dnd</artifactId>
+                <version>${isis-viewer-dnd.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+
+            <dependency>
+                <groupId>org.apache.isis.viewer</groupId>
+                <artifactId>isis-viewer-scimpi</artifactId>
+                <version>${isis-viewer-scimpi.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+
+            <dependency>
+                <groupId>org.apache.isis.viewer</groupId>
+                <artifactId>isis-viewer-html</artifactId>
+                <version>${isis-viewer-html.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+
+            <dependency>
+                <groupId>org.apache.isis.security</groupId>
+                <artifactId>isis-security-file</artifactId>
+                <version>${isis-security-file.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+
+
+            <!-- this project's own modules -->
+            <dependency>
+                <groupId>${project.groupId}</groupId>
+                <artifactId>quickstart_html_sql-dom</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+
+            <dependency>
+                <groupId>${project.groupId}</groupId>
+                <artifactId>quickstart_html_sql-fixture</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+
+            <dependency>
+                <groupId>${project.groupId}</groupId>
+                <artifactId>quickstart_html_sql-viewer-html</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+
+
+
+        </dependencies>
+    </dependencyManagement>
+
+    <profiles>
+        <profile>
+            <id>m2e</id>
+            <activation>
+                <property>
+                    <name>m2e.version</name>
+                </property>
+            </activation>
+            <build>
+                <directory>target-ide</directory>
+            </build>
+        </profile>
+    </profiles>
+
+</project>

http://git-wip-us.apache.org/repos/asf/isis/blob/91a8000b/mothballed/example/application/quickstart_html_sql/viewer-html/hsql-db/tests.lck
----------------------------------------------------------------------
diff --git a/mothballed/example/application/quickstart_html_sql/viewer-html/hsql-db/tests.lck b/mothballed/example/application/quickstart_html_sql/viewer-html/hsql-db/tests.lck
new file mode 100644
index 0000000..5cd2e57
Binary files /dev/null and b/mothballed/example/application/quickstart_html_sql/viewer-html/hsql-db/tests.lck differ

http://git-wip-us.apache.org/repos/asf/isis/blob/91a8000b/mothballed/example/application/quickstart_html_sql/viewer-html/hsql-db/tests.log
----------------------------------------------------------------------
diff --git a/mothballed/example/application/quickstart_html_sql/viewer-html/hsql-db/tests.log b/mothballed/example/application/quickstart_html_sql/viewer-html/hsql-db/tests.log
new file mode 100644
index 0000000..7b4d229
--- /dev/null
+++ b/mothballed/example/application/quickstart_html_sql/viewer-html/hsql-db/tests.log
@@ -0,0 +1,2 @@
+/*C3*/SET SCHEMA PUBLIC
+create table ISIS_ADMIN_SERVICES (PK_ID int, ID varchar(255))

http://git-wip-us.apache.org/repos/asf/isis/blob/91a8000b/mothballed/example/application/quickstart_html_sql/viewer-html/hsql-db/tests.properties
----------------------------------------------------------------------
diff --git a/mothballed/example/application/quickstart_html_sql/viewer-html/hsql-db/tests.properties b/mothballed/example/application/quickstart_html_sql/viewer-html/hsql-db/tests.properties
new file mode 100644
index 0000000..e17168d
--- /dev/null
+++ b/mothballed/example/application/quickstart_html_sql/viewer-html/hsql-db/tests.properties
@@ -0,0 +1,4 @@
+#HSQL Database Engine 2.2.8
+#Wed Oct 10 18:15:49 BST 2012
+version=2.2.8
+modified=yes

http://git-wip-us.apache.org/repos/asf/isis/blob/91a8000b/mothballed/example/application/quickstart_html_sql/viewer-html/hsql-db/tests.script
----------------------------------------------------------------------
diff --git a/mothballed/example/application/quickstart_html_sql/viewer-html/hsql-db/tests.script b/mothballed/example/application/quickstart_html_sql/viewer-html/hsql-db/tests.script
new file mode 100644
index 0000000..13c8dd0
--- /dev/null
+++ b/mothballed/example/application/quickstart_html_sql/viewer-html/hsql-db/tests.script
@@ -0,0 +1,46 @@
+SET DATABASE UNIQUE NAME HSQLDB3A4BACD59D
+SET DATABASE GC 0
+SET DATABASE DEFAULT RESULT MEMORY ROWS 0
+SET DATABASE EVENT LOG LEVEL 0
+SET DATABASE SQL NAMES FALSE
+SET DATABASE SQL REFERENCES FALSE
+SET DATABASE SQL SIZE TRUE
+SET DATABASE SQL TYPES FALSE
+SET DATABASE SQL TDC DELETE TRUE
+SET DATABASE SQL TDC UPDATE TRUE
+SET DATABASE SQL TRANSLATE TTI TYPES TRUE
+SET DATABASE SQL CONCAT NULLS TRUE
+SET DATABASE SQL NULLS FIRST TRUE
+SET DATABASE SQL UNIQUE NULLS TRUE
+SET DATABASE SQL CONVERT TRUNCATE TRUE
+SET DATABASE SQL AVG SCALE 0
+SET DATABASE SQL DOUBLE NAN TRUE
+SET DATABASE SQL LONGVAR IS LOB FALSE
+SET DATABASE TRANSACTION CONTROL LOCKS
+SET DATABASE DEFAULT ISOLATION LEVEL READ COMMITTED
+SET DATABASE TRANSACTION ROLLBACK ON CONFLICT TRUE
+SET DATABASE TEXT TABLE DEFAULTS ''
+SET FILES WRITE DELAY 500 MILLIS
+SET FILES BACKUP INCREMENT TRUE
+SET FILES CACHE SIZE 10000
+SET FILES CACHE ROWS 50000
+SET FILES SCALE 8
+SET FILES LOB SCALE 32
+SET FILES DEFRAG 0
+SET FILES NIO TRUE
+SET FILES NIO SIZE 256
+SET FILES LOG TRUE
+SET FILES LOG SIZE 50
+CREATE USER SA PASSWORD DIGEST 'd41d8cd98f00b204e9800998ecf8427e'
+ALTER USER SA SET LOCAL TRUE
+CREATE SCHEMA PUBLIC AUTHORIZATION DBA
+ALTER SEQUENCE SYSTEM_LOBS.LOB_ID RESTART WITH 1
+SET DATABASE DEFAULT INITIAL SCHEMA PUBLIC
+GRANT USAGE ON DOMAIN INFORMATION_SCHEMA.YES_OR_NO TO PUBLIC
+GRANT USAGE ON DOMAIN INFORMATION_SCHEMA.TIME_STAMP TO PUBLIC
+GRANT USAGE ON DOMAIN INFORMATION_SCHEMA.CARDINAL_NUMBER TO PUBLIC
+GRANT USAGE ON DOMAIN INFORMATION_SCHEMA.CHARACTER_DATA TO PUBLIC
+GRANT USAGE ON DOMAIN INFORMATION_SCHEMA.SQL_IDENTIFIER TO PUBLIC
+GRANT DBA TO SA
+SET SCHEMA SYSTEM_LOBS
+INSERT INTO BLOCKS VALUES(0,2147483647,0)

http://git-wip-us.apache.org/repos/asf/isis/blob/91a8000b/mothballed/example/application/quickstart_html_sql/viewer-html/ide/eclipse/launch/quickstart-viewer-html.launch
----------------------------------------------------------------------
diff --git a/mothballed/example/application/quickstart_html_sql/viewer-html/ide/eclipse/launch/quickstart-viewer-html.launch b/mothballed/example/application/quickstart_html_sql/viewer-html/ide/eclipse/launch/quickstart-viewer-html.launch
new file mode 100644
index 0000000..99a0ac6
--- /dev/null
+++ b/mothballed/example/application/quickstart_html_sql/viewer-html/ide/eclipse/launch/quickstart-viewer-html.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.PROGRAM_ARGUMENTS" value="--type server_exploration"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="quickstart-viewer-html"/>
+<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/91a8000b/mothballed/example/application/quickstart_html_sql/viewer-html/lib/.gitignore
----------------------------------------------------------------------
diff --git a/mothballed/example/application/quickstart_html_sql/viewer-html/lib/.gitignore b/mothballed/example/application/quickstart_html_sql/viewer-html/lib/.gitignore
new file mode 100644
index 0000000..70eee7e
--- /dev/null
+++ b/mothballed/example/application/quickstart_html_sql/viewer-html/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/91a8000b/mothballed/example/application/quickstart_html_sql/viewer-html/pom.xml
----------------------------------------------------------------------
diff --git a/mothballed/example/application/quickstart_html_sql/viewer-html/pom.xml b/mothballed/example/application/quickstart_html_sql/viewer-html/pom.xml
new file mode 100644
index 0000000..43ae71f
--- /dev/null
+++ b/mothballed/example/application/quickstart_html_sql/viewer-html/pom.xml
@@ -0,0 +1,186 @@
+<?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_html_sql</artifactId>
+        <version>1.0.0-SNAPSHOT</version>
+    </parent>
+
+	<artifactId>quickstart_html_sql-viewer-html</artifactId>
+    
+	<name>Quickstart (HTML/SQL) HTML Viewer</name>
+	<description>This module runs Isis' HTML webapp viewer.  By default it is configured to
+	run using the sql object store.  See other viewer modules for more persistence
+	options.</description>
+	
+	<packaging>war</packaging>
+
+	<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>
+
+		</plugins>
+	</build>
+
+	<dependencies>
+	
+        <!-- other modules in this project -->
+        <dependency>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>quickstart_html_sql-dom</artifactId>
+        </dependency>
+        
+        <dependency>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>quickstart_html_sql-fixture</artifactId>
+        </dependency>
+
+
+
+        <!-- objectstore/domain service/repository implementations -->
+
+		<dependency>
+			<groupId>org.apache.isis.objectstore</groupId>
+			<artifactId>isis-objectstore-sql-impl</artifactId>
+		</dependency>
+        
+
+        <!-- isis viewer -->
+		<dependency>
+	        <groupId>org.apache.isis.viewer</groupId>
+			<artifactId>isis-viewer-html-impl</artifactId>
+		</dependency>
+
+
+
+        <!-- isis core -->
+        <dependency>
+            <groupId>org.apache.isis.core</groupId>
+            <artifactId>isis-core-metamodel</artifactId>
+        </dependency>
+
+        <!-- isis default runtime -->
+        <dependency>
+            <groupId>org.apache.isis.core</groupId>
+            <artifactId>isis-core-runtime</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.isis.core</groupId>
+            <artifactId>isis-core-objectstore</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.isis.objectstore</groupId>
+            <artifactId>isis-objectstore-xml</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.isis.core</groupId>
+            <artifactId>isis-core-profilestore</artifactId>
+        </dependency>
+        
+        <!-- isis defaults (other) -->
+        <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>
+            <version>1.2</version>
+        </dependency>
+
+
+		<!-- 
+		  JDBC drivers 
+		  (if using jdo or sql object store)
+		  -->
+
+        <dependency>
+            <groupId>org.hsqldb</groupId>
+            <artifactId>hsqldb</artifactId>
+            <version>2.2.8</version>
+        </dependency>
+
+		<!-- 
+		<dependency>
+			<groupId>com.microsoft.sqlserver</groupId>
+			<artifactId>jdbc</artifactId>
+			<version>4.0</version>
+			<scope>system</scope>
+			<optional>true</optional>
+			<systemPath>${basedir}/lib/sqljdbc4.jar</systemPath>
+		</dependency>
+		-->	
+			
+		<dependency>
+		  <groupId>org.lazyluke</groupId>
+		  <artifactId>log4jdbc-remix</artifactId>
+		  <version>0.2.7</version>
+		</dependency>
+
+	</dependencies>
+
+</project>

http://git-wip-us.apache.org/repos/asf/isis/blob/91a8000b/mothballed/example/application/quickstart_html_sql/viewer-html/src/main/jettyconsole/isis-banner.pdn
----------------------------------------------------------------------
diff --git a/mothballed/example/application/quickstart_html_sql/viewer-html/src/main/jettyconsole/isis-banner.pdn b/mothballed/example/application/quickstart_html_sql/viewer-html/src/main/jettyconsole/isis-banner.pdn
new file mode 100644
index 0000000..ee6b1c4
Binary files /dev/null and b/mothballed/example/application/quickstart_html_sql/viewer-html/src/main/jettyconsole/isis-banner.pdn differ

http://git-wip-us.apache.org/repos/asf/isis/blob/91a8000b/mothballed/example/application/quickstart_html_sql/viewer-html/src/main/jettyconsole/isis-banner.png
----------------------------------------------------------------------
diff --git a/mothballed/example/application/quickstart_html_sql/viewer-html/src/main/jettyconsole/isis-banner.png b/mothballed/example/application/quickstart_html_sql/viewer-html/src/main/jettyconsole/isis-banner.png
new file mode 100644
index 0000000..c6dea47
Binary files /dev/null and b/mothballed/example/application/quickstart_html_sql/viewer-html/src/main/jettyconsole/isis-banner.png differ

http://git-wip-us.apache.org/repos/asf/isis/blob/91a8000b/mothballed/example/application/quickstart_html_sql/viewer-html/src/main/resources/images/Default.png
----------------------------------------------------------------------
diff --git a/mothballed/example/application/quickstart_html_sql/viewer-html/src/main/resources/images/Default.png b/mothballed/example/application/quickstart_html_sql/viewer-html/src/main/resources/images/Default.png
new file mode 100644
index 0000000..8409e46
Binary files /dev/null and b/mothballed/example/application/quickstart_html_sql/viewer-html/src/main/resources/images/Default.png differ

http://git-wip-us.apache.org/repos/asf/isis/blob/91a8000b/mothballed/example/application/quickstart_html_sql/viewer-html/src/main/webapp/WEB-INF/authentication_file.passwords
----------------------------------------------------------------------
diff --git a/mothballed/example/application/quickstart_html_sql/viewer-html/src/main/webapp/WEB-INF/authentication_file.passwords b/mothballed/example/application/quickstart_html_sql/viewer-html/src/main/webapp/WEB-INF/authentication_file.passwords
new file mode 100644
index 0000000..97b228e
--- /dev/null
+++ b/mothballed/example/application/quickstart_html_sql/viewer-html/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:role1|role2|role3
+dick:pass
+bob:pass
+joe:pass

http://git-wip-us.apache.org/repos/asf/isis/blob/91a8000b/mothballed/example/application/quickstart_html_sql/viewer-html/src/main/webapp/WEB-INF/authentication_file.properties
----------------------------------------------------------------------
diff --git a/mothballed/example/application/quickstart_html_sql/viewer-html/src/main/webapp/WEB-INF/authentication_file.properties b/mothballed/example/application/quickstart_html_sql/viewer-html/src/main/webapp/WEB-INF/authentication_file.properties
new file mode 100644
index 0000000..62b9dae
--- /dev/null
+++ b/mothballed/example/application/quickstart_html_sql/viewer-html/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/91a8000b/mothballed/example/application/quickstart_html_sql/viewer-html/src/main/webapp/WEB-INF/authorization_file.allow
----------------------------------------------------------------------
diff --git a/mothballed/example/application/quickstart_html_sql/viewer-html/src/main/webapp/WEB-INF/authorization_file.allow b/mothballed/example/application/quickstart_html_sql/viewer-html/src/main/webapp/WEB-INF/authorization_file.allow
new file mode 100644
index 0000000..4407ec2
--- /dev/null
+++ b/mothballed/example/application/quickstart_html_sql/viewer-html/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/91a8000b/mothballed/example/application/quickstart_html_sql/viewer-html/src/main/webapp/WEB-INF/authorization_file.properties
----------------------------------------------------------------------
diff --git a/mothballed/example/application/quickstart_html_sql/viewer-html/src/main/webapp/WEB-INF/authorization_file.properties b/mothballed/example/application/quickstart_html_sql/viewer-html/src/main/webapp/WEB-INF/authorization_file.properties
new file mode 100644
index 0000000..f44bb6c
--- /dev/null
+++ b/mothballed/example/application/quickstart_html_sql/viewer-html/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/91a8000b/mothballed/example/application/quickstart_html_sql/viewer-html/src/main/webapp/WEB-INF/isis.properties
----------------------------------------------------------------------
diff --git a/mothballed/example/application/quickstart_html_sql/viewer-html/src/main/webapp/WEB-INF/isis.properties b/mothballed/example/application/quickstart_html_sql/viewer-html/src/main/webapp/WEB-INF/isis.properties
new file mode 100644
index 0000000..c46aeb5
--- /dev/null
+++ b/mothballed/example/application/quickstart_html_sql/viewer-html/src/main/webapp/WEB-INF/isis.properties
@@ -0,0 +1,180 @@
+#  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=sql
+
+
+#
+# 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.  Configure in web.xml 
+isis.authentication=file
+
+
+#
+# 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.  Configure in web.xml 
+#isis.authorization=file
+
+
+
+#
+# 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=
+
+# normally these facets would be installed by virtue of configuring the JDO object store
+# need to be configured manually if running some other object store only because the
+# JDO enhancer is still configured to run on the DOM project.
+isis.reflector.facets.include=\
+	org.apache.isis.core.progmodel.facets.object.ignore.jdo.RemoveJdoEnhancementTypesFacetFactory,\
+	org.apache.isis.core.progmodel.facets.object.ignore.jdo.RemoveJdoPrefixedMethodsFacetFactory
+
+#
+# metamodel validator
+#
+
+#isis.reflector.validator=
+
+
+
+#################################################################################
+#
+# 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
+# (with support for JDO's audit service, and installing fixtures using a domain service)
+#isis.services.prefix = 
+#isis.services = objstore.jdo.todo.ToDoItemsJdo,\
+#                fixture.todo.ToDoItemsFixturesService,\
+#                dom.audit.AuditServiceDemo
+
+
+
+
+
+#
+# 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= fixture
+isis.fixtures= todo.ToDoItemsFixture
+