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 2017/08/18 07:21:30 UTC

isis git commit: ISIS-1465: updates to docs

Repository: isis
Updated Branches:
  refs/heads/master e17f37400 -> b441012f9


ISIS-1465: updates to docs


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

Branch: refs/heads/master
Commit: b441012f93ec3746876bbd17d213f3b2dd0c136c
Parents: e17f374
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Fri Aug 18 08:21:23 2017 +0100
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Fri Aug 18 08:21:23 2017 +0100

----------------------------------------------------------------------
 .../applib/layout/component/component.xsd       |  3 -
 ...rgcms_classes_AppManifest-bootstrapping.adoc |  8 +-
 .../main/asciidoc/guides/rgmvn/_rgmvn_xsd.adoc  | 15 ++--
 ...vc_persistence-layer-api_IsisJdoSupport.adoc |  2 +-
 ...ntation-layer-spi_SessionLoggingService.adoc |  2 +-
 .../guides/ugbtb/_ugbtb_deployment.adoc         |  2 +-
 ...b_deployment_externalized-configuration.adoc | 81 ++++++++++----------
 .../guides/ugbtb/_ugbtb_deployment_tomcat.adoc  | 53 ++++++++++---
 ...ugtst_integ-test-support_abstract-class.adoc |  6 +-
 ..._ugtst_integ-test-support_bootstrapping.adoc |  4 +-
 ...g-test-support_configuration-properties.adoc |  2 +-
 11 files changed, 106 insertions(+), 72 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/b441012f/adocs/documentation/src/main/asciidoc/applib/layout/component/component.xsd
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/applib/layout/component/component.xsd b/adocs/documentation/src/main/asciidoc/applib/layout/component/component.xsd
index a8d1edc..c7ff585 100644
--- a/adocs/documentation/src/main/asciidoc/applib/layout/component/component.xsd
+++ b/adocs/documentation/src/main/asciidoc/applib/layout/component/component.xsd
@@ -38,7 +38,6 @@
     <xs:attribute name="id" type="xs:string" use="required"/>
     <xs:attribute name="namedEscaped" type="xs:boolean"/>
 
-    <!-- 1.15.0-SNAPSHOT -->
     <xs:attribute name="promptStyle" type="tns:promptStyle"/>
 
     <xs:attribute name="position" type="tns:position"/>
@@ -70,7 +69,6 @@
     <xs:attribute name="multiLine" type="xs:int"/>
     <xs:attribute name="namedEscaped" type="xs:boolean"/>
 
-    <!-- 1.15.0-SNAPSHOT -->
     <xs:attribute name="promptStyle" type="tns:promptStyle"/>
 
     <xs:attribute name="renderedAsDayBefore" type="xs:boolean"/>
@@ -109,7 +107,6 @@
     </xs:restriction>
   </xs:simpleType>
 
-  <!-- 1.15.0-SNAPSHOT -->
   <xs:simpleType name="promptStyle">
     <xs:restriction base="xs:string">
       <xs:enumeration value="DIALOG"/>

http://git-wip-us.apache.org/repos/asf/isis/blob/b441012f/adocs/documentation/src/main/asciidoc/guides/rgcms/_rgcms_classes_AppManifest-bootstrapping.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/rgcms/_rgcms_classes_AppManifest-bootstrapping.adoc b/adocs/documentation/src/main/asciidoc/guides/rgcms/_rgcms_classes_AppManifest-bootstrapping.adoc
index ac2fc78..17b1a8b 100644
--- a/adocs/documentation/src/main/asciidoc/guides/rgcms/_rgcms_classes_AppManifest-bootstrapping.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/rgcms/_rgcms_classes_AppManifest-bootstrapping.adoc
@@ -9,7 +9,7 @@ This section describes how to implement the `AppManifest` interface to bootstrap
 
 [TIP]
 ====
-(As of `1.15.0-SNAPSHOT`), the framework-provided `AppManifestAbstract` and `AppManifestAbstract.Builder` make it easy to write ``AppManifest`` that can be used both to bootstrap the application "proper", and to be tweaked for use within integration tests.
+(As of `1.15.0`), the framework-provided `AppManifestAbstract` and `AppManifestAbstract.Builder` make it easy to write ``AppManifest`` that can be used both to bootstrap the application "proper", and to be tweaked for use within integration tests.
 ====
 
 
@@ -233,13 +233,13 @@ Sometimes though it is necessary to "tweak" the `AppManifest`:
 
 * it might override certain configuration properties, eg to run against an in-memory HSQLDB database.
 
-The next section describes some helper classes that (as of `1.15.0-SNAPSHOT`) the framework provides to help achieve this.
+The next section describes some helper classes that the framework provides to help achieve this.
 
 
 [[__rgcms_classes_AppManifest-bootstrapping_bootstrapping_AppManifestAbstract]]
-=== AppManifestAbstract (`1.15.0-SNAPSHOT`)
+=== AppManifestAbstract
 
-(As of `1.15.0-SNAPSHOT`), the `AppManifestAbstract` and its associated builder (`AppManifestAbstract.Builder`) make it easy to bootstrap the application both as a webapp and also as an integration test.
+(As of `1.15.0`), the `AppManifestAbstract` and its associated builder (`AppManifestAbstract.Builder`) make it easy to bootstrap the application both as a webapp and also as an integration test.
 
 Rather than implement `AppManifest` interface directly, instead your application subclasses from `AppManifestAbstract`.
 This takes an instance of a `AppManifestAbstract.Builder` in its constructor; the builder is what allows for variation between environments.

http://git-wip-us.apache.org/repos/asf/isis/blob/b441012f/adocs/documentation/src/main/asciidoc/guides/rgmvn/_rgmvn_xsd.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/rgmvn/_rgmvn_xsd.adoc b/adocs/documentation/src/main/asciidoc/guides/rgmvn/_rgmvn_xsd.adoc
index 9c4294d..d72a512 100644
--- a/adocs/documentation/src/main/asciidoc/guides/rgmvn/_rgmvn_xsd.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/rgmvn/_rgmvn_xsd.adoc
@@ -42,7 +42,7 @@ other standard plugins in order to generate both XSDs and DTOs.  The `pom.xml` d
 to separate out these two responsibilities.
 
 
-[[__rgmvn_xsd]]
+[[__rgmvn_xsd_xsd-submodule]]
 == `xsd` submodule
 
 We recommend creating a new submodule that will perform the following build steps:
@@ -74,9 +74,9 @@ First, the usual boilerplate:
     <modelVersion>4.0.0</modelVersion>
 
     <parent>
-        <groupId>mleder.analistappb</groupId>
+        <groupId>com.mycompany</groupId>
         <artifactId>todoapp</artifactId>
-        <version>1.15.0-SNAPSHOT</version>
+        <version>1.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>todoapp-xsd</artifactId>
@@ -102,14 +102,15 @@ First, the usual boilerplate:
 </project>
 ----
 <1> depends on the rest of the application's modules
-<2> XSD generation, to run the `xsd` goal and then assemble into a zip file; within a profile for modularity
-<3> XJC generation, to run the `xjc` to generate Java DTO classes from XSDs; within a profile for modularity
-
+<2> XSD generation, to run the `xsd` goal and then assemble into a zip file; within a profile for modularity; see section xref:rgmvn.adoc#__rgmvn_xsd_xsd-submodule_xsd-profile[below]
+<3> XJC generation, to run the `xjc` to generate Java DTO classes from XSDs; within a profile for modularity; see section xref:rgmvn.adoc#__rgmvn_xsd_xsd-submodule_xjc-profile[below]
 
+The xref:rgmvn.adoc#__rgmvn_xsd_xsd-submodule_xsd-profile[sections] xref:rgmvn.adoc#__rgmvn_xsd_xsd-submodule_xjc-profile[below] flesh out the gaps.
 
 
 
 
+[[__rgmvn_xsd_xsd-submodule_xsd-profile]]
 === XSD profile
 
 The `isis-xsd` profile runs the `xsd` goal of the `isis-maven-plugin`; these are then zipped up by the assembly plugin:
@@ -209,7 +210,7 @@ The `isis-xsd` profile runs the `xsd` goal of the `isis-maven-plugin`; these are
 <1> the location that the `xsd` goal writes to.
 
 
-
+[[__rgmvn_xsd_xsd-submodule_xjc-profile]]
 === XJC profile
 
 The `xjc` profile reads the XSD generated by the `xsd` goal, and from it generates Java DTOs.  Note that this isn't

http://git-wip-us.apache.org/repos/asf/isis/blob/b441012f/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_persistence-layer-api_IsisJdoSupport.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_persistence-layer-api_IsisJdoSupport.adoc b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_persistence-layer-api_IsisJdoSupport.adoc
index 1c6952b..6c46609 100644
--- a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_persistence-layer-api_IsisJdoSupport.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_persistence-layer-api_IsisJdoSupport.adoc
@@ -122,7 +122,7 @@ You can find the full example of the JDOQL equivalent in the xref:../rgsvc/rgsvc
 ====
 
 
-The `executeUniqueQuery(...)` method (`1.15.0-SNAPSHOT`) is similar to `executeQuery(...)`, however expects the query to return at most a single object, which it returns (or `null` if none).
+The `executeUniqueQuery(...)` method (introduced in `1.15.0`) is similar to `executeQuery(...)`, however expects the query to return at most a single object, which it returns (or `null` if none).
 
 The `newTypesafeQuery(...)` method is a lower-level API that allows a type safe query to be instantiated for most sophisticated querying, eg using group by or order by clauses.
 See the

http://git-wip-us.apache.org/repos/asf/isis/blob/b441012f/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_presentation-layer-spi_SessionLoggingService.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_presentation-layer-spi_SessionLoggingService.adoc b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_presentation-layer-spi_SessionLoggingService.adoc
index a8023e8..2c5ea92 100644
--- a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_presentation-layer-spi_SessionLoggingService.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_presentation-layer-spi_SessionLoggingService.adoc
@@ -35,7 +35,7 @@ public interface SessionLoggingService {
 == Implementations
 
 The framework provides an implementation, `SessionLoggingService.Stderr` that just prints out to standard error.
-This is not registered by default, but can be easily registered manually (in `1.15.0-SNAPSHOT`) using `AppManifestAbstract.Builder#withAdditionalServices(...)`.
+This is not registered by default, but can be easily registered manually using `AppManifestAbstract.Builder#withAdditionalServices(...)`.
 
 The (non-ASF) http://github.com/isisaddons/isis-module-sessionlogger[Sessionlogger module] provides an implementation that logs each session as a JDO entity.
 

http://git-wip-us.apache.org/repos/asf/isis/blob/b441012f/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_deployment.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_deployment.adoc b/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_deployment.adoc
index 908e683..0b6b3a1 100644
--- a/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_deployment.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_deployment.adoc
@@ -7,8 +7,8 @@
 This chapter provides guidance on some common deployment scenarios.
 
 include::_ugbtb_deployment_cmd-line.adoc[leveloffset=+1]
-include::_ugbtb_deployment_tomcat.adoc[leveloffset=+1]
 include::_ugbtb_deployment_externalized-configuration.adoc[leveloffset=+1]
+include::_ugbtb_deployment_tomcat.adoc[leveloffset=+1]
 include::_ugbtb_deployment_docker.adoc[leveloffset=+1]
 include::_ugbtb_deployment_gae.adoc[leveloffset=+1]
 include::_ugbtb_deployment_neo4j.adoc[leveloffset=+1]

http://git-wip-us.apache.org/repos/asf/isis/blob/b441012f/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_deployment_externalized-configuration.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_deployment_externalized-configuration.adoc b/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_deployment_externalized-configuration.adoc
index 3be9266..3cd2e05 100644
--- a/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_deployment_externalized-configuration.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_deployment_externalized-configuration.adoc
@@ -1,4 +1,4 @@
-[[_ugbtb_deployment_externalized-configuration]]
+    [[_ugbtb_deployment_externalized-configuration]]
 = Externalized Configuration
 :Notice: 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.
 :_basedir: ../../
@@ -7,23 +7,19 @@
 
 
 As described xref:../rgcfg/rgcfg.adoc#_rgcfg_configuration-files[here], by default Apache Isis itself bootstraps from the
-`isis.properties` configuration file.  It will also read configuration from the (optional)
-component/implementation-specific configuration files (such as
-`persistor_datanucleus.properties` or `viewer_wicket.properties`), and also (optional) component-specific configuration
-files (such as `persistor.properties` or `viewer.properties`).
+`isis.properties` configuration file.
+It will also read configuration from the (optional) component/implementation-specific configuration files (such as `persistor_datanucleus.properties` or `viewer_wicket.properties`), and also (optional) component-specific configuration files (such as `persistor.properties` or `viewer.properties`).
 
-It's generally not good practice to have the same configuration property in more than one file, but if that does occur,
-then the subsequent configuration property will be ignored.
+It's generally not good practice to have the same configuration property in more than one file, but if that does occur, then the subsequent configuration property will be ignored.
 
 [TIP]
 ====
-In addition the framework will also load the `overrides.properties` file.  This is intended to support deployment
-through Docker, as discussed xref:../ugbtb/ugbtb.adoc#_ugbtb_deployment_docker[next].
+In addition the framework will also load the `overrides.properties` file.
+This is intended to support deployment through Docker, as discussed xref:../ugbtb/ugbtb.adoc#_ugbtb_deployment_docker[next].
 ====
 
-All of these files are read from the `WEB-INF` directory.  Having this configuration "baked into" the application is
-okay in a development environment, but when the app needs to be deployed to a test or production environment, this
-configuration should be read from an external location.
+All of these files are read from the `WEB-INF` directory.
+Having this configuration "baked into" the application is okay in a development environment, but when the app needs to be deployed to a test or production environment, this configuration should be read from an external location.
 
 There are in fact several frameworks involved here, all of which need to be pointed to this external location:
 
@@ -38,8 +34,10 @@ There are in fact several frameworks involved here, all of which need to be poin
 Each of these frameworks has its own way of externalizing its configuration.
 
 
-
-
+[TIP]
+====
+Subsequent sections explain how to externalize configuration for xref:ugbtb.adoc#_ugbtb_deployment_tomcat[Tomcat] and for xref:ugbtb.adoc#_ugbtb_deployment_docker[Docker].
+====
 
 
 
@@ -59,28 +57,14 @@ If the external configuration directory is fixed for all environments (systest,
 </context-param>
 ----
 
-If however the configuration directory varies by environment, then the context parameter will be specified to each installation of your servlet container. Most (if not all) servlet containers will provide a means to define context parameters through proprietary config files.
+If however the configuration directory varies by environment, then the context parameter will be specified to each installation of your servlet container.
+Most (if not all) servlet containers will provide a means to define context parameters through proprietary config files.
 
-For example, if using Tomcat 7.0, you would typically copy the empty `$TOMCAT_HOME/webapps/conf/context.xml` to a file specific to the webapp, for example `$TOMCAT_HOME/webapps/conf/todo.xml`. The context parameter would then be specified by adding the following:
 
-[source,xml]
-----
-<Parameter name="isis.config.dir"
-           value="/usr/local/tomcat/myapp/conf/"
-           override="false"/>
-----
-
-[IMPORTANT]
-====
-Note that the `override` key should be set to "false", not "true".  It indicates whether the application's own `web.xml` can override the setting.  In most cases, you probably want to disallow that.
-====
-
-
-For more detail, see the Tomcat documentation on http://tomcat.apache.org/tomcat-7.0-doc/config/context.html#Defining_a_context[defining a context] and on http://tomcat.apache.org/tomcat-7.0-doc/config/context.html#Context_Parameters[context parameters].
 
 [NOTE]
 ====
-Note that running the app using Apache Isis' `org.apache.isis.WebServer` bootstrapper currently does not externalized Apache Isis configuration.
+Note that running the app using Apache Isis' `org.apache.isis.WebServer` bootstrapper does not use externalized Apache Isis configuration.
 ====
 
 
@@ -91,11 +75,13 @@ Note that running the app using Apache Isis' `org.apache.isis.WebServer` bootstr
 [[__ugbtb_deployment_externalized-configuration_Shiro]]
 == Shiro Config
 
-If using Apache Isis' xref:../ugsec/ugsec.adoc#_ugsec_configuring-isis-to-use-shiro[Shiro integration] for authentication and/or authorization, note that it reads from the `shiro.ini` configuration file. By default this also resides in `WEB-INF`.
+If using Apache Isis' xref:../ugsec/ugsec.adoc#_ugsec_configuring-isis-to-use-shiro[Shiro integration] for authentication and/or authorization, note that it reads from the `shiro.ini` configuration file.
+By default this also resides in `WEB-INF`.
 
 Similar to Apache Isis, Shiro lets this configuration directory be altered, by specifying the `shiroConfigLocations` context parameter.
 
-You can therefore override the default location using the same technique as described above for Apache Isis' `isis.config.dir` context parameter. For example:
+You can therefore override the default location using the same technique as described above for Apache Isis' `isis.config.dir` context parameter.
+For example:
 
 [source,xml]
 ----
@@ -115,9 +101,12 @@ Note that Shiro is more flexible than Apache Isis; it will read its configuratio
 [[__ugbtb_deployment_externalized-configuration_Log4j]]
 == Log4j Config
 
-By default Apache Isis configures log4j to read the `logging.properties` file in the `WEB-INF` directory. This can be overridden by setting the `log4j.properties` system property to the URL of the log4j properties file.
+By default Apache Isis configures log4j to read the `logging.properties` file in the `WEB-INF` directory.
+This can be overridden by setting the `log4j.properties` system property to the URL of the log4j properties file.
+
+=== Tomcat
 
-For example, if deploying to Tomcat7, this amounts to adding the following to the `CATALINA_OPTS` flags:
+For example, if deploying to Tomcat7 or Tomcat8, this amounts to adding the following to the `CATALINA_OPTS` flags:
 
 [source,bash]
 ----
@@ -136,9 +125,11 @@ Further details an be found in the link:https://logging.apache.org/log4j/1.2/man
 
 == Spring Config
 
-Although Apache Isis does not use Spring, it's possible that your app may use other components that do use Spring.  For example, the (non-ASF) http://github.com/isisaddons/isis-module-publishmq[Isis addons' publishmq] module uses ActiveMQ and Camel to support publishing; both of these leverage Spring.
+Although Apache Isis does not use Spring, it's possible that your app may use other components that do use Spring.
+For example, the (non-ASF) http://github.com/isisaddons/isis-module-publishmq[Isis addons' publishmq] module uses ActiveMQ and Camel to support publishing; both of these leverage Spring.
 
-There are several ways to externalized Spring config, but the mechanism described here is similar in nature to those that we use for externalizing Apache Isis' and Shiro's configuration.  In your `web.xml`, you will probably load the Spring application context using code such as:
+There are several ways to externalized Spring config, but the mechanism described here is similar in nature to those that we use for externalizing Apache Isis' and Shiro's configuration.
+In your `web.xml`, you will probably load the Spring application context using code such as:
 
 [source,xml]
 ----
@@ -251,6 +242,18 @@ take a look at link:http://stackoverflow.com/a/10041835/56880[this SO answer] on
 
 
 
-== See also
+== JVM Args
+
+The xref:../rgsvc/rgsvc.adoc#_rgsvc_application-layer-api_WrapperFactory[`WrapperFactory`] uses link:http://www.javassist.org[Javassist] to create on-the-fly classes acting as a proxy.
+The cost of these proxies can be mitigated using:
+
+[source,ini]
+----
+-XX:+CMSClassUnloadingEnabled -XX:+UseConcMarkSweepGC
+----
+
+
+
+== Using a JNDI Datasource
 
-See xref:ugbtb.adoc#_ugbtb_deployment_jvm-flags[JVM args] for other JVM args and system properties that you might want to consider setting.
\ No newline at end of file
+See the guidance in the xref:../ugodn/ugodn.adoc#_ugodn_configuring_using-jndi-data-source[configuring datanucleus] section.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/b441012f/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_deployment_tomcat.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_deployment_tomcat.adoc b/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_deployment_tomcat.adoc
index 19e7b3c..efb48c0 100644
--- a/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_deployment_tomcat.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_deployment_tomcat.adoc
@@ -5,24 +5,57 @@
 :_imagesdir: images/
 
 
-Some pointers when deploying to Tomcat (or any other servlet container).
+Some pointers on how to xref:ugbtb.adoc#_ugbtb_deployment_externalized-configuration[externalize configuration] when deploying to Tomcat.
+Other servlet containers have similar mechanisms.
 
-== Externalized Configuration
 
-See the guidance xref:../ugbtb/ugbtb.adoc#_ugbtb_deployment_externalized-configuration[below].
+== Tomcat 8.0
 
+If deploying Tomcat 8.0, create a file called `$TOMCAT_HOME/conf/Catalina/localhost/todoapp.xml`, where `todoapp.xml` corresponds to the name of the webapp being deployed, eg `todoapp.war`.
 
-== JVM Args
+The contents of this file would be something like:
 
-The xref:../rgsvc/rgsvc.adoc#_rgsvc_application-layer-api_WrapperFactory[`WrapperFactory`] uses link:http://www.javassist.org[Javassist] to create on-the-fly classes acting as a proxy.  The cost of these proxies can be mitigated using:
-
-[source,ini]
+[source,xml]
 ----
--XX:+CMSClassUnloadingEnabled -XX:+UseConcMarkSweepGC
+<?xml version="1.0" encoding="UTF-8"?>
+<Context>
+
+    <WatchedResource>WEB-INF/web.xml</WatchedResource>
+    <Manager pathname="" />
+
+    <Parameter name="shiroConfigLocations"
+               value="file:/var/todoapp/dev/shiro.ini"
+               override="false" />
+
+    <Parameter name="isis.config.dir"
+               value="/var/todoapp/dev/"
+               override="false" />
+
+    <Parameter name="spring.config.file"
+               value="file:/var/todoapp/dev/spring.properties"
+               override="false" />
+
+    <Parameter name="wicket.configuration"
+               value="development"
+               override="false" />
+
+</Context>
 ----
 
+[IMPORTANT]
+====
+Note that the `override` key should be set to "false", not "true".
+It indicates whether the application's own `web.xml` can override the setting.
+In most cases, you probably want to disallow that.
+====
+
+Thus, when `todoapp.war` is deployed to `$CATALINA_HOME/webapp`, then this configuration will be used.
+
+For more detail, see the Tomcat 8.0 documentation on link:http://tomcat.apache.org/tomcat-8.0-doc/config/context.html#Defining_a_context[defining a context] and on link:http://tomcat.apache.org/tomcat-8.0-doc/config/context.html#Context_Parameters[context parameters].
+
+== Tomcat 7.0
 
+If using Tomcat 7.0, the process is similar to that of Tomcat 8.0, however the override file resides in `$TOMCAT_HOME/conf`, rather than `$TOMCAT_HOME/conf/Catalina/localhost`.
 
-== Using a JNDI Datasource
+For more detail, see the Tomcat 7.0 documentation on link:http://tomcat.apache.org/tomcat-7.0-doc/config/context.html#Defining_a_context[defining a context] and on link:http://tomcat.apache.org/tomcat-7.0-doc/config/context.html#Context_Parameters[context parameters].
 
-See the guidance in the xref:../ugodn/ugodn.adoc#_ugodn_configuring_using-jndi-data-source[configuring datanucleus] section.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/b441012f/adocs/documentation/src/main/asciidoc/guides/ugtst/_ugtst_integ-test-support_abstract-class.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/ugtst/_ugtst_integ-test-support_abstract-class.adoc b/adocs/documentation/src/main/asciidoc/guides/ugtst/_ugtst_integ-test-support_abstract-class.adoc
index e2d4fda..7b1d341 100644
--- a/adocs/documentation/src/main/asciidoc/guides/ugtst/_ugtst_integ-test-support_abstract-class.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/ugtst/_ugtst_integ-test-support_abstract-class.adoc
@@ -8,7 +8,7 @@
 
 When writing integration tests, it's easiest to inherit from a base class:
 
-* for `1.15.0-SNAPSHOT`, use `IntegrationTestAbstract2`
+* as of (`1.15.0`), use `IntegrationTestAbstract2`
 * for earlier releases, use (its superclass) `IntegrationTestAbstract`.
 
 This base class xref:ugtst.adoc#_ugtst_integ-test-support_bootstrapping[bootstraps] the framework (caching the framework on a thread-local), and provides various utility methods and framework-provided services for use by your application's subclass tests.
@@ -16,9 +16,9 @@ This base class xref:ugtst.adoc#_ugtst_integ-test-support_bootstrapping[bootstra
 
 
 [[__ugtst_integ-test-support_abstract-class_IntegrationTestAbstract2]]
-== `IntegrationTestAbstract2` (`1.15.0-SNAPSHOT`)
+== `IntegrationTestAbstract2`
 
-(As of `1.15.0-SNAPSHOT`) we recommend that your integration tests inherit from Apache Isis' `IntegrationTestAbstract2` class:
+(As of `1.15.0`) we recommend that your integration tests inherit from Apache Isis' `IntegrationTestAbstract2` class:
 
 [source,java]
 ----

http://git-wip-us.apache.org/repos/asf/isis/blob/b441012f/adocs/documentation/src/main/asciidoc/guides/ugtst/_ugtst_integ-test-support_bootstrapping.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/ugtst/_ugtst_integ-test-support_bootstrapping.adoc b/adocs/documentation/src/main/asciidoc/guides/ugtst/_ugtst_integ-test-support_bootstrapping.adoc
index ddf9dfc..79b6fc6 100644
--- a/adocs/documentation/src/main/asciidoc/guides/ugtst/_ugtst_integ-test-support_bootstrapping.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/ugtst/_ugtst_integ-test-support_bootstrapping.adoc
@@ -14,9 +14,9 @@ The example code in this section is taken from the app generated by the xref:../
 
 
 
-== 1.15.0-SNAPSHOT
+== 1.15.0 onwards
 
-In `1.15.0-SNAPSHOT` the bootstrapping is accomplished using a combination of `AppManifestAbstract` (a framework-provided implementation of xref:../rgcms/rgcms.adoc#_rgcms_classes_AppManifest-bootstrapping[`AppManifest`]) and `IntegrationTestAbstract2` superclass.
+In `1.15.0` the bootstrapping is accomplished using a combination of `AppManifestAbstract` (a framework-provided implementation of xref:../rgcms/rgcms.adoc#_rgcms_classes_AppManifest-bootstrapping[`AppManifest`]) and `IntegrationTestAbstract2` superclass.
 
 For example, the xref:../ugfun/ugfun.adoc#_ugfun_getting-started_simpleapp-archetype[SimpleApp archetype]'s integration tests all inherit from this class:
 

http://git-wip-us.apache.org/repos/asf/isis/blob/b441012f/adocs/documentation/src/main/asciidoc/guides/ugtst/_ugtst_integ-test-support_configuration-properties.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/ugtst/_ugtst_integ-test-support_configuration-properties.adoc b/adocs/documentation/src/main/asciidoc/guides/ugtst/_ugtst_integ-test-support_configuration-properties.adoc
index a583a63..8dc1f48 100644
--- a/adocs/documentation/src/main/asciidoc/guides/ugtst/_ugtst_integ-test-support_configuration-properties.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/ugtst/_ugtst_integ-test-support_configuration-properties.adoc
@@ -9,7 +9,7 @@ The recommended way to run integration tests is against an HSQLDB in-memory data
 This can be done using the application's usual xref:../rgcms/rgcms.adoc#_rgcms_classes_AppManifest-bootstrapping[`AppManifest`], and then overriding JDBC URL and similar.
 
 Different releases of the framework have provided differing ways to accomplish this.
-As of `1.15.0-SNAPSHOT`, using `IntegrationTestAbstract2`'s `bootstrapUsing` method will make these configuration properties as the default.
+(As of `1.15.0`) using `IntegrationTestAbstract2`'s `bootstrapUsing` method will make these configuration properties as the default.
 In earlier releases either the helper methods in `AppManifest.Util` class or the `IsisConfigurationForJdoIntegTests` (implementation of `IsisConfiguration`) can be used.
 
 Whichever approach is used, these are the configuration properties that will be overridden: