You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2012/12/06 12:09:54 UTC

[5/51] [partial] ISIS-188: moving components into correct directories.

http://git-wip-us.apache.org/repos/asf/isis/blob/cd9f2e4a/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-html/src/main/webapp/WEB-INF/isis.properties
----------------------------------------------------------------------
diff --git a/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-html/src/main/webapp/WEB-INF/isis.properties b/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-html/src/main/webapp/WEB-INF/isis.properties
new file mode 100644
index 0000000..ae72db2
--- /dev/null
+++ b/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-html/src/main/webapp/WEB-INF/isis.properties
@@ -0,0 +1,183 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+${symbol_pound}  Licensed to the Apache Software Foundation (ASF) under one
+${symbol_pound}  or more contributor license agreements.  See the NOTICE file
+${symbol_pound}  distributed with this work for additional information
+${symbol_pound}  regarding copyright ownership.  The ASF licenses this file
+${symbol_pound}  to you under the Apache License, Version 2.0 (the
+${symbol_pound}  "License"); you may not use this file except in compliance
+${symbol_pound}  with the License.  You may obtain a copy of the License at
+${symbol_pound}  
+${symbol_pound}         http://www.apache.org/licenses/LICENSE-2.0
+${symbol_pound}         
+${symbol_pound}  Unless required by applicable law or agreed to in writing,
+${symbol_pound}  software distributed under the License is distributed on an
+${symbol_pound}  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+${symbol_pound}  KIND, either express or implied.  See the License for the
+${symbol_pound}  specific language governing permissions and limitations
+${symbol_pound}  under the License.
+
+
+${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbo
 l_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}
+${symbol_pound}
+${symbol_pound} specify system components.
+${symbol_pound}
+${symbol_pound} The values correspond to the named components in the installer-registry.properties file
+${symbol_pound} in the org.apache.isis.runtimes.dflt:runtime JAR (in the org.apache.isis.runtimes.dflt.runtime package)
+${symbol_pound}
+${symbol_pound} Although all configuration could reside in isis.properties, the recommendation is
+${symbol_pound} to split out into component specific files:
+${symbol_pound} 
+${symbol_pound}    xxx_yyy.properties files
+${symbol_pound}
+${symbol_pound} where
+${symbol_pound}    * xxx is the component type, and
+${symbol_pound}    * yyy is the component name.
+${symbol_pound}
+${symbol_pound} For example, persistor_sql.properties holds configuration information specific to the
+${symbol_pound}
+${symbol_pound}
+${symbol_pound} If the components are changed, also remember to edit pom.xml (further comments can be 
+${symbol_pound} found in the persistor_xxx.properties files)
+${symbol_pound}
+${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbo
 l_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}
+
+${symbol_pound}
+${symbol_pound} configure the persistor (object store) to use
+${symbol_pound}
+${symbol_pound} * in-memory   requires no additional configuration, but stores object in-memory.
+${symbol_pound}               Only suitable for prototyping
+${symbol_pound} * datanucleus uses JDO DataNucleus to persist objects to relational database.
+${symbol_pound}               for objectstore-specific properties, see persistor_datanucleus.properties   
+${symbol_pound} * fileserver  uses a simple FileServer to persist objects as JSON documents.  It requires the fileserver component to be running
+${symbol_pound}               for objectstore-specific properties, see persistor_fileserver.properties 
+${symbol_pound} * mongodb     uses MongoDB to be persist objects as JSON documents.  It requires MongoDB to be installed and running
+${symbol_pound}               for objectstore-specific properties, see persistor_fileserver.properties  
+${symbol_pound} * sql         uses an RDBMS to persist objects as table rows.  
+${symbol_pound}               for objectstore-specific properties, see persistor_sql.properties
+${symbol_pound} * xml         uses the XML ObjectStore to be persist objects to a set of XML files.  Only suitable for prototyping.
+${symbol_pound}               for objectstore-specific properties, see persistor_xml.properties 
+${symbol_pound}
+${symbol_pound} NOTE:
+${symbol_pound} * if using non-naive implementations of services, edit isis.services (below) and 
+${symbol_pound} * if necessary, update the pom.xml to reference appropriate objstore-xxx module
+${symbol_pound} * for sql and datanucleus objectstores, update the pom.xml to reference appropriate JDBC driver
+${symbol_pound} 
+
+isis.persistor=sql
+
+
+${symbol_pound}
+${symbol_pound} configure authentication mechanism to use (to logon to the system)
+${symbol_pound} note:
+${symbol_pound} - authentication is disabled if running in exploration mode
+${symbol_pound} - the Scimpi viewer allows access to anonymous users
+${symbol_pound}
+ 
+${symbol_pound} default is file in SERVER mode, none in SERVER_EXPLORATION.  Configure in web.xml 
+isis.authentication=file
+
+
+${symbol_pound}
+${symbol_pound} configure authorization mechanism to use
+${symbol_pound}
+${symbol_pound} The authorization mechanism define each users' permissions to view/edit object properties 
+${symbol_pound} or collections, and to view/invoke object actions
+${symbol_pound}
+${symbol_pound} configuring this component automatically refines the metamodel (installing a facet factory
+${symbol_pound} which vetoes access as required)
+${symbol_pound}
+
+${symbol_pound} default is file in SERVER mode, none in SERVER_EXPLORATION.  Configure in web.xml 
+${symbol_pound}isis.authorization=file
+
+
+
+${symbol_pound}
+${symbol_pound} configure the user profile store to use.
+${symbol_pound} 
+${symbol_pound} the user profile store is supported by some viewers as a way to store 
+${symbol_pound} user-specific settings (eg colours, themes etc)
+${symbol_pound} 
+isis.user-profile-store=in-memory
+
+
+
+
+${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbo
 l_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}
+${symbol_pound}
+${symbol_pound} MetaModel
+${symbol_pound}
+${symbol_pound} The metamodel typically does not require additional configuration, although
+${symbol_pound} the system components (defined above) may refine the metamodel for their needs.
+${symbol_pound}
+${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbo
 l_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}
+
+
+${symbol_pound}
+${symbol_pound} additional programming model facets
+${symbol_pound}
+
+${symbol_pound}isis.reflector.facets.include=
+${symbol_pound}isis.reflector.facets.exclude=
+
+${symbol_pound} normally these facets would be installed by virtue of configuring the JDO object store
+${symbol_pound} need to be configured manually if running some other object store only because the
+${symbol_pound} JDO enhancer is still configured to run on the DOM project.
+isis.reflector.facets.include=${symbol_escape}
+	org.apache.isis.core.progmodel.facets.object.ignore.jdo.RemoveJdoEnhancementTypesFacetFactory,${symbol_escape}
+	org.apache.isis.core.progmodel.facets.object.ignore.jdo.RemoveJdoPrefixedMethodsFacetFactory
+
+${symbol_pound}
+${symbol_pound} metamodel validator
+${symbol_pound}
+
+${symbol_pound}isis.reflector.validator=
+
+
+
+${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbo
 l_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}
+${symbol_pound}
+${symbol_pound} Application Services and fixtures
+${symbol_pound}
+${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbo
 l_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}
+
+${symbol_pound}
+${symbol_pound} Specify the domain services.
+${symbol_pound} 
+${symbol_pound} These are the most important configuration properties in the system, as they define
+${symbol_pound} the set of the classes for Isis to instantiate as domain service singletons.
+${symbol_pound} From these domain service instances the rest of the metamodel is discovered, while the 
+${symbol_pound} end-user gains access to other domain objects by invoking the actions of the domain services.
+${symbol_pound}
+${symbol_pound} The implementations depend on the configured (see isis.persistor above) 
+${symbol_pound}
+
+
+${symbol_pound} if using the in-memory, XML, SQL, fileserver or mongo object stores:
+isis.services.prefix = dom
+isis.services = todo.ToDoItems
+
+
+${symbol_pound} if using the DataNucleus object store
+${symbol_pound} (with support for JDO's audit service, and installing fixtures using a domain service)
+${symbol_pound}isis.services.prefix = 
+${symbol_pound}isis.services = objstore.jdo.todo.ToDoItemsJdo,${symbol_escape}
+${symbol_pound}                fixture.todo.ToDoItemsFixturesService,${symbol_escape}
+${symbol_pound}                dom.audit.AuditServiceDemo
+
+
+
+
+
+${symbol_pound}
+${symbol_pound} Specify the (optional) test fixtures
+${symbol_pound}
+${symbol_pound} Fixtures are used to seed the object store with an initial set of data.  For the 
+${symbol_pound} in-memory object store, the fixtures are installed on every run.  For other
+${symbol_pound} object stores, they are used only when the object store is first initialized.
+${symbol_pound}
+isis.fixtures.prefix= fixture
+isis.fixtures= todo.ToDoItemsFixture
+

http://git-wip-us.apache.org/repos/asf/isis/blob/cd9f2e4a/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-html/src/main/webapp/WEB-INF/logging.properties
----------------------------------------------------------------------
diff --git a/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-html/src/main/webapp/WEB-INF/logging.properties b/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-html/src/main/webapp/WEB-INF/logging.properties
new file mode 100644
index 0000000..62fc6be
--- /dev/null
+++ b/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-html/src/main/webapp/WEB-INF/logging.properties
@@ -0,0 +1,92 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+${symbol_pound}  Licensed to the Apache Software Foundation (ASF) under one
+${symbol_pound}  or more contributor license agreements.  See the NOTICE file
+${symbol_pound}  distributed with this work for additional information
+${symbol_pound}  regarding copyright ownership.  The ASF licenses this file
+${symbol_pound}  to you under the Apache License, Version 2.0 (the
+${symbol_pound}  "License"); you may not use this file except in compliance
+${symbol_pound}  with the License.  You may obtain a copy of the License at
+${symbol_pound}  
+${symbol_pound}         http://www.apache.org/licenses/LICENSE-2.0
+${symbol_pound}         
+${symbol_pound}  Unless required by applicable law or agreed to in writing,
+${symbol_pound}  software distributed under the License is distributed on an
+${symbol_pound}  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+${symbol_pound}  KIND, either express or implied.  See the License for the
+${symbol_pound}  specific language governing permissions and limitations
+${symbol_pound}  under the License.
+
+
+${symbol_pound}
+${symbol_pound} Isis uses log4j is used to provide system logging
+${symbol_pound}
+log4j.rootCategory=INFO, Console
+
+${symbol_pound} 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
+
+
+
+
+
+! turn on the internal log4j debugging flag so we can see what it is doing
+${symbol_pound}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=DEBUG,jdbc, Console
+log4j.additivity.jdbc.audit=false
+
+log4j.logger.jdbc.resultset=DEBUG,jdbc
+log4j.additivity.jdbc.resultset=false
+
+log4j.logger.jdbc.sqltiming=WARNING,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/cd9f2e4a/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-html/src/main/webapp/WEB-INF/persistor_sql.properties
----------------------------------------------------------------------
diff --git a/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-html/src/main/webapp/WEB-INF/persistor_sql.properties b/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-html/src/main/webapp/WEB-INF/persistor_sql.properties
new file mode 100644
index 0000000..303c610
--- /dev/null
+++ b/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-html/src/main/webapp/WEB-INF/persistor_sql.properties
@@ -0,0 +1,75 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+${symbol_pound}  Licensed to the Apache Software Foundation (ASF) under one
+${symbol_pound}  or more contributor license agreements.  See the NOTICE file
+${symbol_pound}  distributed with this work for additional information
+${symbol_pound}  regarding copyright ownership.  The ASF licenses this file
+${symbol_pound}  to you under the Apache License, Version 2.0 (the
+${symbol_pound}  "License"); you may not use this file except in compliance
+${symbol_pound}  with the License.  You may obtain a copy of the License at
+${symbol_pound}  
+${symbol_pound}         http://www.apache.org/licenses/LICENSE-2.0
+${symbol_pound}         
+${symbol_pound}  Unless required by applicable law or agreed to in writing,
+${symbol_pound}  software distributed under the License is distributed on an
+${symbol_pound}  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+${symbol_pound}  KIND, either express or implied.  See the License for the
+${symbol_pound}  specific language governing permissions and limitations
+${symbol_pound}  under the License.
+
+${symbol_pound}
+${symbol_pound} configuration file for the SQL objectstore
+${symbol_pound}
+
+
+${symbol_pound}
+${symbol_pound} HSQLDB in-memory (using log4jdbc-remix)
+${symbol_pound}
+${symbol_pound}isis.persistor.sql.jdbc.driver=net.sf.log4jdbc.DriverSpy
+${symbol_pound}isis.persistor.sql.jdbc.connection=jdbc:log4jdbc:hsqldb:mem:test
+${symbol_pound}isis.persistor.sql.jdbc.user=sa
+${symbol_pound}isis.persistor.sql.jdbc.password=
+
+
+${symbol_pound}
+${symbol_pound} HSQLDB (file)
+${symbol_pound}
+isis.persistor.sql.jdbc.driver=org.hsqldb.jdbcDriver
+isis.persistor.sql.jdbc.connection=jdbc:hsqldb:mem:test
+isis.persistor.sql.jdbc.user=sa
+isis.persistor.sql.jdbc.password=
+
+
+
+${symbol_pound}
+${symbol_pound} HSQLDB (file)
+${symbol_pound}
+${symbol_pound}isis.persistor.sql.jdbc.driver=org.hsqldb.jdbcDriver
+${symbol_pound}isis.persistor.sql.jdbc.connection=jdbc:hsqldb:file:hsql-db/tests
+${symbol_pound}isis.persistor.sql.jdbc.user=sa
+${symbol_pound}isis.persistor.sql.jdbc.password=
+
+
+${symbol_pound}
+${symbol_pound} configuration for MS SQL
+${symbol_pound} (also edit pom.xml of objstore-mongodb)
+${symbol_pound}
+${symbol_pound}isis.persistor.sql.jdbc.driver=com.microsoft.sqlserver.jdbc.SQLServerDriver
+${symbol_pound}isis.persistor.sql.jdbc.connection=jdbc:sqlserver://localhost:1433;databaseName=todoapp;integratedSecurity=true;
+${symbol_pound}isis.persistor.sql.jdbc.user=sa
+${symbol_pound}isis.persistor.sql.jdbc.password=
+
+
+${symbol_pound}
+${symbol_pound} configuration for Ingres
+${symbol_pound} (also edit pom.xml of objstore-mongodb)
+${symbol_pound}
+${symbol_pound}isis.persistor.sql.jdbc.driver=com.ingres.jdbc.IngresDriver
+${symbol_pound}isis.persistor.sql.jdbc.connection=jdbc:ingres://localhost:II7/todoapp
+${symbol_pound}${symbol_pound}isis.persistor.sql.jdbc.user=NOTUSED_IF_localhost
+${symbol_pound}${symbol_pound}isis.persistor.sql.jdbc.password=NOTUSED_IF_localhost
+${symbol_pound}isis.persistor.sql.datatypes.datetime=TIMESTAMP
+${symbol_pound}isis.persistor.sql.datatypes.timestamp=TIMESTAMP
+${symbol_pound}isis.persistor.sql.datatypes.double=DOUBLE PRECISION
+

http://git-wip-us.apache.org/repos/asf/isis/blob/cd9f2e4a/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-html/src/main/webapp/WEB-INF/viewer_html.properties
----------------------------------------------------------------------
diff --git a/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-html/src/main/webapp/WEB-INF/viewer_html.properties b/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-html/src/main/webapp/WEB-INF/viewer_html.properties
new file mode 100644
index 0000000..5f4f6b1
--- /dev/null
+++ b/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-html/src/main/webapp/WEB-INF/viewer_html.properties
@@ -0,0 +1,34 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+${symbol_pound}  Licensed to the Apache Software Foundation (ASF) under one
+${symbol_pound}  or more contributor license agreements.  See the NOTICE file
+${symbol_pound}  distributed with this work for additional information
+${symbol_pound}  regarding copyright ownership.  The ASF licenses this file
+${symbol_pound}  to you under the Apache License, Version 2.0 (the
+${symbol_pound}  "License"); you may not use this file except in compliance
+${symbol_pound}  with the License.  You may obtain a copy of the License at
+${symbol_pound}  
+${symbol_pound}         http://www.apache.org/licenses/LICENSE-2.0
+${symbol_pound}         
+${symbol_pound}  Unless required by applicable law or agreed to in writing,
+${symbol_pound}  software distributed under the License is distributed on an
+${symbol_pound}  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+${symbol_pound}  KIND, either express or implied.  See the License for the
+${symbol_pound}  specific language governing permissions and limitations
+${symbol_pound}  under the License.
+
+${symbol_pound}
+${symbol_pound} configuration file for the HTML viewer
+${symbol_pound}
+
+${symbol_pound}
+${symbol_pound} customization for the header and footer
+${symbol_pound}
+isis.viewer.html.header=<div id="site-header"><div id="site-logo">&nbsp;</div></div>
+isis.viewer.html.footer=<div id="page-footer"><small>Powered by Apache Isis</small><div><small><a href="index.html">home</a>&nbsp;|&nbsp;<a href="index.shtml">scimpi</a>&nbsp;|&nbsp;<a href="services">rest</a>&nbsp;|&nbsp;<a href="mobile/index.html">mobile</a></small></div></div>
+
+${symbol_pound}
+${symbol_pound} stylesheet
+${symbol_pound}
+isis.viewer.html.style-sheet=htmlviewer/style/default.css

http://git-wip-us.apache.org/repos/asf/isis/blob/cd9f2e4a/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-html/src/main/webapp/WEB-INF/web.xml
----------------------------------------------------------------------
diff --git a/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-html/src/main/webapp/WEB-INF/web.xml b/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-html/src/main/webapp/WEB-INF/web.xml
new file mode 100644
index 0000000..e23eea7
--- /dev/null
+++ b/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-html/src/main/webapp/WEB-INF/web.xml
@@ -0,0 +1,236 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+<?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 Webapp</display-name>
+
+
+    <welcome-file-list>
+        <welcome-file>index.html</welcome-file>
+    </welcome-file-list>
+    
+    <context-param>
+        <param-name>deploymentType</param-name>
+        <!-- 
+        <param-value>SERVER</param-value>
+         -->
+        <param-value>SERVER_EXPLORATION</param-value>
+    </context-param>
+    
+    
+    
+    
+    <!--
+    -
+    -
+    - config common to all viewer(s)
+    -
+    -
+    -->
+    
+    <!-- bootstrap the Isis metamodel and runtime -->
+    <listener>
+        <listener-class>org.apache.isis.runtimes.dflt.webapp.IsisWebAppBootstrapper</listener-class>
+    </listener>
+
+    <!-- which (optional) configuration file(s) to load -->
+    <context-param>
+        <param-name>isis.viewers</param-name>
+        <param-value>html</param-value>
+    </context-param>
+
+
+    <!-- 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${symbol_pound}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>
+    -->
+
+    <!-- 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 html-viewer
+    -
+    -
+    -->
+    <!-- determine the format of the paths of the links etc that it generates -->
+    <context-param>
+        <param-name>viewer-html.suffix</param-name>
+        <param-value>htmlviewer</param-value>
+    </context-param>
+
+    <!-- redirect requests to 'htmlviewer' to the HTML viewer's start page -->
+    <filter>
+        <filter-name>RedirectFilterForHtml</filter-name>
+        <filter-class>org.apache.isis.core.webapp.routing.RedirectFilter</filter-class>
+        <init-param>
+            <param-name>redirectTo</param-name>
+            <param-value>/start.htmlviewer</param-value>
+        </init-param>
+    </filter>
+    <filter-mapping>
+        <filter-name>RedirectFilterForHtml</filter-name>
+        <url-pattern>/htmlviewer</url-pattern>
+    </filter-mapping>
+
+    <!-- authenticate user, and set up an Isis Session -->
+    <filter>
+        <filter-name>IsisSessionFilterForHtml</filter-name>
+        <filter-class>org.apache.isis.runtimes.dflt.webapp.IsisSessionFilter</filter-class>
+        <init-param>
+            <!-- lookup from cache, or if a logon filter was provided -->
+            <param-name>authenticationSessionStrategy</param-name>
+            <param-value>org.apache.isis.runtimes.dflt.webapp.auth.AuthenticationSessionStrategyDefault</param-value>
+        </init-param>
+        <init-param>
+            <!-- what to do if no session was found; we indicate access only to a restricted list of paths -->
+            <param-name>whenNoSession</param-name>
+            <param-value>restricted</param-value>
+        </init-param>
+        <init-param>
+            <!-- the list of paths that are accessible if no session was found -->
+            <param-name>restricted</param-name>
+            <param-value>/logon.htmlviewer,/register.htmlviewer</param-value>
+        </init-param>
+    </filter>
+    <filter-mapping>
+        <filter-name>IsisSessionFilterForHtml</filter-name>
+        <servlet-name>HtmlLogin</servlet-name>
+    </filter-mapping>
+    <filter-mapping>
+        <filter-name>IsisSessionFilterForHtml</filter-name>
+        <servlet-name>HtmlDispatcher</servlet-name>
+    </filter-mapping>
+
+    <servlet>
+        <servlet-name>HtmlLogon</servlet-name>
+        <servlet-class>org.apache.isis.viewer.html.servlet.LogonServlet</servlet-class>
+        <init-param>
+            <param-name>authenticationSessionStrategy</param-name>
+            <param-value>org.apache.isis.runtimes.dflt.webapp.auth.AuthenticationSessionStrategyDefault</param-value>
+        </init-param>
+        <init-param>
+            <param-name>startPage</param-name>
+            <param-value>start.htmlviewer</param-value>
+        </init-param>
+    </servlet>
+    <servlet-mapping>
+        <servlet-name>HtmlLogon</servlet-name>
+        <url-pattern>/logon.htmlviewer</url-pattern>
+    </servlet-mapping>
+
+    <servlet>
+        <servlet-name>HtmlDispatcher</servlet-name>
+        <servlet-class>org.apache.isis.viewer.html.servlet.ControllerServlet</servlet-class>
+    </servlet>
+    <servlet-mapping>
+        <servlet-name>HtmlDispatcher</servlet-name>
+        <url-pattern>*.htmlviewer</url-pattern>
+    </servlet-mapping>
+	
+</web-app>

http://git-wip-us.apache.org/repos/asf/isis/blob/cd9f2e4a/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-html/src/main/webapp/htmlviewer/images/banner-bg.png
----------------------------------------------------------------------
diff --git a/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-html/src/main/webapp/htmlviewer/images/banner-bg.png b/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-html/src/main/webapp/htmlviewer/images/banner-bg.png
new file mode 100644
index 0000000..c731c15
Binary files /dev/null and b/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-html/src/main/webapp/htmlviewer/images/banner-bg.png differ

http://git-wip-us.apache.org/repos/asf/isis/blob/cd9f2e4a/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-html/src/main/webapp/htmlviewer/images/banner.png
----------------------------------------------------------------------
diff --git a/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-html/src/main/webapp/htmlviewer/images/banner.png b/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-html/src/main/webapp/htmlviewer/images/banner.png
new file mode 100644
index 0000000..adf2159
Binary files /dev/null and b/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-html/src/main/webapp/htmlviewer/images/banner.png differ

http://git-wip-us.apache.org/repos/asf/isis/blob/cd9f2e4a/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-html/src/main/webapp/htmlviewer/style/default.css
----------------------------------------------------------------------
diff --git a/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-html/src/main/webapp/htmlviewer/style/default.css b/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-html/src/main/webapp/htmlviewer/style/default.css
new file mode 100644
index 0000000..b5df867
--- /dev/null
+++ b/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-html/src/main/webapp/htmlviewer/style/default.css
@@ -0,0 +1,928 @@
+/*
+ *  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;
+    margin-top: 5px;
+}
+	
+BODY {
+	font-family: Arial, Sans-Serif;
+	margin: 0 0 10px 0;
+	color: black;
+}
+
+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;
+}
+*/
+#view {
+    min-height: 400px;
+}
+
+DIV#body DIV#view {
+	position: relative;
+	top: 0px;
+	left: 0px;
+	margin: 0px;
+}
+
+/* Start of Message Header */
+DIV.message-header {
+	position: relative;
+	top: 40px;
+	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 {
+	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;
+}
+
+SPAN.message {
+	position: relative;
+	top: 30px;
+	font-size: 100%;
+	color: #336699;
+	margin: 40px 0 0 0;
+	padding: 10px;
+}
+
+
+SPAN.about {
+	display: block;
+	padding: 4px;
+}
+
+
+SPAN.user {
+	display: block;
+	padding: 4px;
+}
+
+.nav-link {
+    display: block;
+    padding: 10px;
+    font-size: 75%;
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/cd9f2e4a/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-restfulobjects/ide/eclipse/launch/quickstart-viewer-restfulobjects.launch
----------------------------------------------------------------------
diff --git a/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-restfulobjects/ide/eclipse/launch/quickstart-viewer-restfulobjects.launch b/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-restfulobjects/ide/eclipse/launch/quickstart-viewer-restfulobjects.launch
new file mode 100644
index 0000000..c84c107
--- /dev/null
+++ b/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-restfulobjects/ide/eclipse/launch/quickstart-viewer-restfulobjects.launch
@@ -0,0 +1,23 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+<?xml version="1.0" encoding="UTF-8"?>
+<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 value="org.eclipse.jdt.launching.localJavaApplication" key="[debug]"/>
+    <mapEntry value="org.eclipse.jdt.launching.localJavaApplication" key="[run]"/>
+  </mapAttribute>
+  <stringAttribute value="org.eclipse.jdt.launching.sourceLocator.JavaSourceLookupDirector" key="org.eclipse.debug.core.source_locator_id"/>
+  <booleanAttribute value="true" key="org.eclipse.jdt.debug.ui.INCLUDE_EXTERNAL_JARS"/>
+  <stringAttribute value="org.eclipse.m2e.launchconfig.classpathProvider" key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER"/>
+  <stringAttribute value="org.apache.isis.WebServer" key="org.eclipse.jdt.launching.MAIN_TYPE"/>
+  <stringAttribute value="--type server_exploration" key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS"/>
+  <stringAttribute value="${rootArtifactId}-viewer-restfulobjects" key="org.eclipse.jdt.launching.PROJECT_ATTR"/>
+  <stringAttribute value="org.eclipse.m2e.launchconfig.sourcepathProvider" key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER"/>
+</launchConfiguration>

http://git-wip-us.apache.org/repos/asf/isis/blob/cd9f2e4a/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-restfulobjects/lib/.gitignore
----------------------------------------------------------------------
diff --git a/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-restfulobjects/lib/.gitignore b/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-restfulobjects/lib/.gitignore
new file mode 100644
index 0000000..70eee7e
--- /dev/null
+++ b/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-restfulobjects/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/cd9f2e4a/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-restfulobjects/pom.xml
----------------------------------------------------------------------
diff --git a/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-restfulobjects/pom.xml b/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-restfulobjects/pom.xml
new file mode 100644
index 0000000..f308e5f
--- /dev/null
+++ b/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-restfulobjects/pom.xml
@@ -0,0 +1,200 @@
+<?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>${groupId}</groupId>
+        <artifactId>${rootArtifactId}</artifactId>
+        <version>${version}</version>
+    </parent>
+
+	<artifactId>${artifactId}</artifactId>
+	<name>Quickstart Restful Objects Viewer</name>
+
+	<description>This module runs Isis' Restful Objects viewer, configured to run using the
+	datanucleus object store.  It also includes a demonstrator single-page JQueryMobile app.
+	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>${rootArtifactId}-dom</artifactId>
+        </dependency>
+        
+        <dependency>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>${rootArtifactId}-fixture</artifactId>
+        </dependency>
+
+
+
+        <!-- objectstore/domain service/repository implementations -->
+
+        <!--
+         - uncomment in order to use default object store
+         - (also edit isis.properties)
+         - 
+		<dependency>
+			<groupId>org.apache.isis.runtimes.dflt.objectstores</groupId>
+			<artifactId>dflt</artifactId>
+		</dependency>
+        -->
+        
+        <!--
+         - uncomment in order to use jdo object store
+         - (also edit isis.properties)
+         -
+         - (also uncomment in order to install facet factories used to
+         -  filter out any JDO enhancement to pojos) 
+        -->
+        <dependency>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>${rootArtifactId}-objstore-jdo</artifactId>
+        </dependency>
+        
+
+
+        <!-- isis viewer -->
+        <dependency>
+            <groupId>org.apache.isis.viewer</groupId>
+            <artifactId>restfulobjects-viewer</artifactId>
+        </dependency>
+
+
+        <!-- isis runtime -->
+        <dependency>
+            <groupId>org.apache.isis.runtimes.dflt.bytecode</groupId>
+            <artifactId>dflt</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.isis.runtimes.dflt.profilestores</groupId>
+            <artifactId>dflt</artifactId>
+        </dependency>
+        
+        <!-- isis progmodel -->
+        <dependency>
+            <groupId>org.apache.isis.progmodels</groupId>
+            <artifactId>dflt</artifactId>
+        </dependency>
+
+        <!-- isis security implementations -->        
+        <dependency>
+            <groupId>org.apache.isis.security</groupId>
+            <artifactId>file</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.isis.security</groupId>
+            <artifactId>dflt</artifactId>
+        </dependency>
+        
+        <!-- to run using WebServer (optional) -->
+        <dependency>
+            <groupId>org.apache.isis.runtimes.dflt</groupId>
+            <artifactId>isis-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.9</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/cd9f2e4a/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-restfulobjects/src/main/jettyconsole/isis-banner.pdn
----------------------------------------------------------------------
diff --git a/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-restfulobjects/src/main/jettyconsole/isis-banner.pdn b/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-restfulobjects/src/main/jettyconsole/isis-banner.pdn
new file mode 100644
index 0000000..ee6b1c4
Binary files /dev/null and b/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-restfulobjects/src/main/jettyconsole/isis-banner.pdn differ

http://git-wip-us.apache.org/repos/asf/isis/blob/cd9f2e4a/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-restfulobjects/src/main/jettyconsole/isis-banner.png
----------------------------------------------------------------------
diff --git a/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-restfulobjects/src/main/jettyconsole/isis-banner.png b/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-restfulobjects/src/main/jettyconsole/isis-banner.png
new file mode 100644
index 0000000..c6dea47
Binary files /dev/null and b/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-restfulobjects/src/main/jettyconsole/isis-banner.png differ

http://git-wip-us.apache.org/repos/asf/isis/blob/cd9f2e4a/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-restfulobjects/src/main/resources/images/Default.png
----------------------------------------------------------------------
diff --git a/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-restfulobjects/src/main/resources/images/Default.png b/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-restfulobjects/src/main/resources/images/Default.png
new file mode 100644
index 0000000..8409e46
Binary files /dev/null and b/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-restfulobjects/src/main/resources/images/Default.png differ

http://git-wip-us.apache.org/repos/asf/isis/blob/cd9f2e4a/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-restfulobjects/src/main/webapp/WEB-INF/authentication_file.passwords
----------------------------------------------------------------------
diff --git a/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-restfulobjects/src/main/webapp/WEB-INF/authentication_file.passwords b/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-restfulobjects/src/main/webapp/WEB-INF/authentication_file.passwords
new file mode 100644
index 0000000..97b228e
--- /dev/null
+++ b/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-restfulobjects/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/cd9f2e4a/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-restfulobjects/src/main/webapp/WEB-INF/authentication_file.properties
----------------------------------------------------------------------
diff --git a/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-restfulobjects/src/main/webapp/WEB-INF/authentication_file.properties b/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-restfulobjects/src/main/webapp/WEB-INF/authentication_file.properties
new file mode 100644
index 0000000..8edf17c
--- /dev/null
+++ b/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-restfulobjects/src/main/webapp/WEB-INF/authentication_file.properties
@@ -0,0 +1,28 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+${symbol_pound}  Licensed to the Apache Software Foundation (ASF) under one
+${symbol_pound}  or more contributor license agreements.  See the NOTICE file
+${symbol_pound}  distributed with this work for additional information
+${symbol_pound}  regarding copyright ownership.  The ASF licenses this file
+${symbol_pound}  to you under the Apache License, Version 2.0 (the
+${symbol_pound}  "License"); you may not use this file except in compliance
+${symbol_pound}  with the License.  You may obtain a copy of the License at
+${symbol_pound}  
+${symbol_pound}         http://www.apache.org/licenses/LICENSE-2.0
+${symbol_pound}         
+${symbol_pound}  Unless required by applicable law or agreed to in writing,
+${symbol_pound}  software distributed under the License is distributed on an
+${symbol_pound}  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+${symbol_pound}  KIND, either express or implied.  See the License for the
+${symbol_pound}  specific language governing permissions and limitations
+${symbol_pound}  under the License.
+
+${symbol_pound}
+${symbol_pound} configuration file for the File-based authentication mechanism
+${symbol_pound}
+
+
+${symbol_pound}
+${symbol_pound} (intentionally empty)
+${symbol_pound}

http://git-wip-us.apache.org/repos/asf/isis/blob/cd9f2e4a/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-restfulobjects/src/main/webapp/WEB-INF/authorization_file.allow
----------------------------------------------------------------------
diff --git a/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-restfulobjects/src/main/webapp/WEB-INF/authorization_file.allow b/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-restfulobjects/src/main/webapp/WEB-INF/authorization_file.allow
new file mode 100644
index 0000000..4407ec2
--- /dev/null
+++ b/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-restfulobjects/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/cd9f2e4a/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-restfulobjects/src/main/webapp/WEB-INF/authorization_file.properties
----------------------------------------------------------------------
diff --git a/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-restfulobjects/src/main/webapp/WEB-INF/authorization_file.properties b/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-restfulobjects/src/main/webapp/WEB-INF/authorization_file.properties
new file mode 100644
index 0000000..7baee9c
--- /dev/null
+++ b/framework/archetype/quickstart/src/main/resources/archetype-resources/viewer-restfulobjects/src/main/webapp/WEB-INF/authorization_file.properties
@@ -0,0 +1,50 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+${symbol_pound}  Licensed to the Apache Software Foundation (ASF) under one
+${symbol_pound}  or more contributor license agreements.  See the NOTICE file
+${symbol_pound}  distributed with this work for additional information
+${symbol_pound}  regarding copyright ownership.  The ASF licenses this file
+${symbol_pound}  to you under the Apache License, Version 2.0 (the
+${symbol_pound}  "License"); you may not use this file except in compliance
+${symbol_pound}  with the License.  You may obtain a copy of the License at
+${symbol_pound}  
+${symbol_pound}         http://www.apache.org/licenses/LICENSE-2.0
+${symbol_pound}         
+${symbol_pound}  Unless required by applicable law or agreed to in writing,
+${symbol_pound}  software distributed under the License is distributed on an
+${symbol_pound}  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+${symbol_pound}  KIND, either express or implied.  See the License for the
+${symbol_pound}  specific language governing permissions and limitations
+${symbol_pound}  under the License.
+
+${symbol_pound}
+${symbol_pound} configuration file for the File-based authorization mechanism
+${symbol_pound}
+
+
+${symbol_pound}
+${symbol_pound} the whitelist file
+${symbol_pound} (value shown below is the default)
+${symbol_pound}
+
+${symbol_pound}isis.authorization.file.whitelist=authorization_file.allow
+
+
+
+${symbol_pound}
+${symbol_pound} the blacklist file
+${symbol_pound} (there is no default value; provide a filename)
+${symbol_pound}
+
+${symbol_pound}isis.authorization.file.blacklist=
+
+
+
+${symbol_pound}
+${symbol_pound} switch on "learning mode".  In this mode the authorization mechanism
+${symbol_pound} will grant all requests, and log those requests into the allow file.
+${symbol_pound}
+
+${symbol_pound}isis.authorization.learn=true
+