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 2016/09/21 08:49:32 UTC

isis git commit: ISIS-1465: factors out a new user guide for DN object store

Repository: isis
Updated Branches:
  refs/heads/master 469751d9c -> 019b69205


ISIS-1465: factors out a new user guide for DN object store


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

Branch: refs/heads/master
Commit: 019b69205a98d39d4a218b2869f45e7b90f42b70
Parents: 469751d
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Wed Sep 21 09:37:53 2016 +0100
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Wed Sep 21 09:37:53 2016 +0100

----------------------------------------------------------------------
 .../src/main/asciidoc/documentation.adoc        |  1 +
 .../asciidoc/guides/_ugbtb_datanucleus.adoc     | 24 --------
 .../guides/_ugbtb_datanucleus_java8.adoc        | 29 ---------
 ..._datanucleus_overriding-jdo-annotations.adoc | 64 --------------------
 .../src/main/asciidoc/guides/_ugodn_java8.adoc  | 29 +++++++++
 .../_ugodn_overriding-jdo-annotations.adoc      | 64 ++++++++++++++++++++
 .../src/main/asciidoc/guides/cgcom.adoc         |  3 +-
 .../src/main/asciidoc/guides/dg.adoc            |  1 +
 .../src/main/asciidoc/guides/rgant.adoc         |  1 +
 .../src/main/asciidoc/guides/rgcfg.adoc         |  1 +
 .../src/main/asciidoc/guides/rgcms.adoc         |  1 +
 .../src/main/asciidoc/guides/rgfis.adoc         |  1 +
 .../src/main/asciidoc/guides/rgmvn.adoc         |  1 +
 .../src/main/asciidoc/guides/rgsvc.adoc         |  1 +
 .../src/main/asciidoc/guides/ugbtb.adoc         |  2 +-
 .../src/main/asciidoc/guides/ugfun.adoc         |  1 +
 .../src/main/asciidoc/guides/ugodn.adoc         | 64 ++++++++++++++++++++
 .../src/main/asciidoc/guides/ugsec.adoc         |  1 +
 .../src/main/asciidoc/guides/ugtst.adoc         |  1 +
 .../src/main/asciidoc/guides/ugvro.adoc         |  1 +
 .../src/main/asciidoc/guides/ugvw.adoc          |  1 +
 21 files changed, 173 insertions(+), 119 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/019b6920/adocs/documentation/src/main/asciidoc/documentation.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/documentation.adoc b/adocs/documentation/src/main/asciidoc/documentation.adoc
index 98f9aaa..b114dac 100644
--- a/adocs/documentation/src/main/asciidoc/documentation.adoc
+++ b/adocs/documentation/src/main/asciidoc/documentation.adoc
@@ -62,6 +62,7 @@ pass:[<br/>]
 * *link:./guides/ugfun.html[Fundamentals^]*  image:{_imagesdir}PDF-50.png[width="20px" link="./guides/ugfun.pdf"]
 * link:./guides/ugvw.html[Wicket Viewer^]  image:{_imagesdir}PDF-50.png[width="20px" link="./guides/ugvw.pdf"]
 * link:./guides/ugvro.html[Restful Objects Viewer^]  image:{_imagesdir}PDF-50.png[width="20px" link="./guides/ugvro.pdf"]
+* link:./guides/ugodn.html[DataNucleus Object Store^]  image:{_imagesdir}PDF-50.png[width="20px" link="./guides/ugvro.pdf"]
 * link:./guides/ugsec.html[Security^]  image:{_imagesdir}PDF-50.png[width="20px" link="./guides/ugsec.pdf"]
 * *link:./guides/ugtst.html[Testing^]*  image:{_imagesdir}PDF-50.png[width="20px" link="./guides/ugtst.pdf"]
 * link:./guides/ugbtb.html[Beyond the Basics^]  image:{_imagesdir}PDF-50.png[width="20px" link="./guides/ugbtb.pdf"]

http://git-wip-us.apache.org/repos/asf/isis/blob/019b6920/adocs/documentation/src/main/asciidoc/guides/_ugbtb_datanucleus.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/_ugbtb_datanucleus.adoc b/adocs/documentation/src/main/asciidoc/guides/_ugbtb_datanucleus.adoc
deleted file mode 100644
index 306a41f..0000000
--- a/adocs/documentation/src/main/asciidoc/guides/_ugbtb_datanucleus.adoc
+++ /dev/null
@@ -1,24 +0,0 @@
-[[_ugbtb_datanucleus]]
-= DataNucleus
-: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: ../
-:_imagesdir: images/
-
-
-
-Apache Isis uses link:http://datanucleus.org[DataNucleus] to handle persistence of domain entities, using the JDO API.
-This chapter contains some guidance on working with DataNucleus in the context of Apache Isis applications.
-
-[NOTE]
-====
-DataNucleus as a product also supports the JPA API; Apache Isis is likely to also support JPA in the future.
-====
-
-
-include::_ugbtb_datanucleus_overriding-jdo-annotations.adoc[leveloffset=+1]
-include::_ugbtb_datanucleus_java8.adoc[leveloffset=+1]
-
-
-
-
-

http://git-wip-us.apache.org/repos/asf/isis/blob/019b6920/adocs/documentation/src/main/asciidoc/guides/_ugbtb_datanucleus_java8.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/_ugbtb_datanucleus_java8.adoc b/adocs/documentation/src/main/asciidoc/guides/_ugbtb_datanucleus_java8.adoc
deleted file mode 100644
index 495d69f..0000000
--- a/adocs/documentation/src/main/asciidoc/guides/_ugbtb_datanucleus_java8.adoc
+++ /dev/null
@@ -1,29 +0,0 @@
-[[_ugbtb_datanucleus_java8]]
-= Java8
-: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: ../
-:_imagesdir: images/
-
-
-
-DataNucleus 4.x supports Java 7, but can also be used with Java 8, eg for streams support against collections managed
-by DataNucleus.
-
-Just include within `<dependencies>` of your `dom` module's `pom.xml`:
-
-[source,xml]
-----
-<dependency>
-    <groupId>org.datanucleus</groupId>
-    <artifactId>datanucleus-java8</artifactId>
-    <version>4.2.0-release</version>t
-</dependency>
-----
-
-[NOTE]
-====
-The DataNucleus website includes a link:http://www.datanucleus.org/products/accessplatform/compatibility.html[page]
-listing version compatibility of these extensions vis-a-vis the core DataNucleus platform.
-====
-
-

http://git-wip-us.apache.org/repos/asf/isis/blob/019b6920/adocs/documentation/src/main/asciidoc/guides/_ugbtb_datanucleus_overriding-jdo-annotations.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/_ugbtb_datanucleus_overriding-jdo-annotations.adoc b/adocs/documentation/src/main/asciidoc/guides/_ugbtb_datanucleus_overriding-jdo-annotations.adoc
deleted file mode 100644
index 2a8186a..0000000
--- a/adocs/documentation/src/main/asciidoc/guides/_ugbtb_datanucleus_overriding-jdo-annotations.adoc
+++ /dev/null
@@ -1,64 +0,0 @@
-[[_ugbtb_datanucleus_overriding-jdo-annotations]]
-= Overriding JDO Annotations
-: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: ../
-:_imagesdir: images/
-
-
-
-The JDO Objectstore (or rather, the underlying DataNucleus implementation) builds its own persistence metamodel by reading both annotations on the class and also by searching for metadata in XML files. The metadata in the XML files takes precedence over the annotations, and so can be used to override metadata that is "hard-coded" in annotations.
-
-For example, as of 1.9.0 the various http://www.isisaddons.org[Isis addons] modules (not ASF) use schemas for each entity. For example, the `AuditEntry` entity in the http://github.com/isisaddons/isis-module-audit[audit module] is annotated as:
-
-[source,java]
-----
-@javax.jdo.annotations.PersistenceCapable(
-        identityType=IdentityType.DATASTORE,
-        schema = "IsisAddonsAudit",
-        table="AuditEntry")
-public class AuditEntry {
-    ...
-}
-----
-
-This will map the `AuditEntry` class to a table `&quot;IsisAddonsAudit&quot;.&quot;AuditEntry&quot;`; that is using a custom schema to own the object.
-
-Suppose though that for whatever reason we didn't want to use a custom schema but would rather use the default. We can override the above annotation using a `package.jdo` file, for example:
-
-[source,xml]
-----
-<?xml version="1.0" encoding="UTF-8" ?>
-<jdo xmlns="http://xmlns.jcp.org/xml/ns/jdo/jdo"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/jdo/jdo
-        http://xmlns.jcp.org/xml/ns/jdo/jdo_3_0.xsd" version="3.0">
-    <package name="org.isisaddons.module.audit.dom">
-        <class name="AuditEntry" schema="PUBLIC" table="IsisAddonsAuditEntry">
-        </class>
-    </package>
-</jdo>
-----
-
-This file should be placed can be placed in `src/main/java/META-INF` within your application's `dom` module.
-
-[TIP]
-====
-You can use a mixin action on xref:rgcms.adoc#_rgcms_classes_mixins_Persistable[`Persistable`] mixin
-to download the JDO class metadata in XML form.
-====
-
-
-[NOTE]
-====
-* The same approach should work for any other JDO metadata, but some experimentation might be required.+
-+
-For example, in writing up the above example we found that writing `schema=&quot;&quot;` (in an attempt to say, "use the default schema for this table") actually caused the original annotation value to be used instead.
-
-* Forcing the schema to "PUBLIC" (as in the above example) works, but it isn't ideal because the name "PUBLIC" is not vendor-neutral (it works for HSQLDB, but MS SQL Server uses "dbo" as its default).
-
-* As of 1.9.0 Apache Isis will automatically (attempt) to create the owning schema for a given table if it does not exist. This behaviour can be customized, as described in the section on xref:_ugbtb_decoupling_db-schemas[using modules].
-
-* You may need to override the entire class metadata rather than individual elements; the mixin mentioned above can help here.
-====
-
-

http://git-wip-us.apache.org/repos/asf/isis/blob/019b6920/adocs/documentation/src/main/asciidoc/guides/_ugodn_java8.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/_ugodn_java8.adoc b/adocs/documentation/src/main/asciidoc/guides/_ugodn_java8.adoc
new file mode 100644
index 0000000..87fa0cd
--- /dev/null
+++ b/adocs/documentation/src/main/asciidoc/guides/_ugodn_java8.adoc
@@ -0,0 +1,29 @@
+[[_ugodn_java8]]
+= Java8
+: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: ../
+:_imagesdir: images/
+
+
+
+DataNucleus 4.x supports Java 7, but can also be used with Java 8, eg for streams support against collections managed
+by DataNucleus.
+
+Just include within `<dependencies>` of your `dom` module's `pom.xml`:
+
+[source,xml]
+----
+<dependency>
+    <groupId>org.datanucleus</groupId>
+    <artifactId>datanucleus-java8</artifactId>
+    <version>4.2.0-release</version>t
+</dependency>
+----
+
+[NOTE]
+====
+The DataNucleus website includes a link:http://www.datanucleus.org/products/accessplatform/compatibility.html[page]
+listing version compatibility of these extensions vis-a-vis the core DataNucleus platform.
+====
+
+

http://git-wip-us.apache.org/repos/asf/isis/blob/019b6920/adocs/documentation/src/main/asciidoc/guides/_ugodn_overriding-jdo-annotations.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/_ugodn_overriding-jdo-annotations.adoc b/adocs/documentation/src/main/asciidoc/guides/_ugodn_overriding-jdo-annotations.adoc
new file mode 100644
index 0000000..07c1bd7
--- /dev/null
+++ b/adocs/documentation/src/main/asciidoc/guides/_ugodn_overriding-jdo-annotations.adoc
@@ -0,0 +1,64 @@
+[[_ugodn_overriding-jdo-annotations]]
+= Overriding JDO Annotations
+: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: ../
+:_imagesdir: images/
+
+
+
+The JDO Objectstore (or rather, the underlying DataNucleus implementation) builds its own persistence metamodel by reading both annotations on the class and also by searching for metadata in XML files. The metadata in the XML files takes precedence over the annotations, and so can be used to override metadata that is "hard-coded" in annotations.
+
+For example, as of 1.9.0 the various http://www.isisaddons.org[Isis addons] modules (not ASF) use schemas for each entity. For example, the `AuditEntry` entity in the http://github.com/isisaddons/isis-module-audit[audit module] is annotated as:
+
+[source,java]
+----
+@javax.jdo.annotations.PersistenceCapable(
+        identityType=IdentityType.DATASTORE,
+        schema = "IsisAddonsAudit",
+        table="AuditEntry")
+public class AuditEntry {
+    ...
+}
+----
+
+This will map the `AuditEntry` class to a table `&quot;IsisAddonsAudit&quot;.&quot;AuditEntry&quot;`; that is using a custom schema to own the object.
+
+Suppose though that for whatever reason we didn't want to use a custom schema but would rather use the default. We can override the above annotation using a `package.jdo` file, for example:
+
+[source,xml]
+----
+<?xml version="1.0" encoding="UTF-8" ?>
+<jdo xmlns="http://xmlns.jcp.org/xml/ns/jdo/jdo"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/jdo/jdo
+        http://xmlns.jcp.org/xml/ns/jdo/jdo_3_0.xsd" version="3.0">
+    <package name="org.isisaddons.module.audit.dom">
+        <class name="AuditEntry" schema="PUBLIC" table="IsisAddonsAuditEntry">
+        </class>
+    </package>
+</jdo>
+----
+
+This file should be placed can be placed in `src/main/java/META-INF` within your application's `dom` module.
+
+[TIP]
+====
+You can use a mixin action on xref:rgcms.adoc#_rgcms_classes_mixins_Persistable[`Persistable`] mixin
+to download the JDO class metadata in XML form.
+====
+
+
+[NOTE]
+====
+* The same approach should work for any other JDO metadata, but some experimentation might be required.+
++
+For example, in writing up the above example we found that writing `schema=&quot;&quot;` (in an attempt to say, "use the default schema for this table") actually caused the original annotation value to be used instead.
+
+* Forcing the schema to "PUBLIC" (as in the above example) works, but it isn't ideal because the name "PUBLIC" is not vendor-neutral (it works for HSQLDB, but MS SQL Server uses "dbo" as its default).
+
+* As of 1.9.0 Apache Isis will automatically (attempt) to create the owning schema for a given table if it does not exist. This behaviour can be customized, as described in the section on xref:_ugbtb_decoupling_db-schemas[using modules].
+
+* You may need to override the entire class metadata rather than individual elements; the mixin mentioned above can help here.
+====
+
+

http://git-wip-us.apache.org/repos/asf/isis/blob/019b6920/adocs/documentation/src/main/asciidoc/guides/cgcom.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/cgcom.adoc b/adocs/documentation/src/main/asciidoc/guides/cgcom.adoc
index 0fcfd41..751582d 100644
--- a/adocs/documentation/src/main/asciidoc/guides/cgcom.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/cgcom.adoc
@@ -20,8 +20,9 @@ Apache Isis documentation is broken out into a number of user, reference and "su
 The user guides available are:
 
 * xref:ugfun.adoc#[Fundamentals]
-* xref:ugvw.adoc#[Wicket viewer] (this guide)
+* xref:ugvw.adoc#[Wicket viewer]
 * xref:ugvro.adoc#[Restful Objects viewer]
+* xref:ugvro.adoc#[DataNucleus object store]
 * xref:ugsec.adoc#[Security]
 * xref:ugtst.adoc#[Testing]
 * xref:ugbtb.adoc#[Beyond the Basics]

http://git-wip-us.apache.org/repos/asf/isis/blob/019b6920/adocs/documentation/src/main/asciidoc/guides/dg.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/dg.adoc b/adocs/documentation/src/main/asciidoc/guides/dg.adoc
index 8161614..9d2fb09 100644
--- a/adocs/documentation/src/main/asciidoc/guides/dg.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/dg.adoc
@@ -30,6 +30,7 @@ The user guides available are:
 * xref:ugfun.adoc#[Fundamentals]
 * xref:ugvw.adoc#[Wicket viewer]
 * xref:ugvro.adoc#[Restful Objects viewer]
+* xref:ugvro.adoc#[DataNucleus object store]
 * xref:ugsec.adoc#[Security]
 * xref:ugtst.adoc#[Testing]
 * xref:ugbtb.adoc#[Beyond the Basics]

http://git-wip-us.apache.org/repos/asf/isis/blob/019b6920/adocs/documentation/src/main/asciidoc/guides/rgant.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/rgant.adoc b/adocs/documentation/src/main/asciidoc/guides/rgant.adoc
index cc4cfbd..2235040 100644
--- a/adocs/documentation/src/main/asciidoc/guides/rgant.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/rgant.adoc
@@ -22,6 +22,7 @@ The user guides available are:
 * xref:ugfun.adoc#[Fundamentals]
 * xref:ugvw.adoc#[Wicket viewer]
 * xref:ugvro.adoc#[Restful Objects viewer]
+* xref:ugvro.adoc#[DataNucleus object store]
 * xref:ugsec.adoc#[Security]
 * xref:ugtst.adoc#[Testing]
 * xref:ugbtb.adoc#[Beyond the Basics]

http://git-wip-us.apache.org/repos/asf/isis/blob/019b6920/adocs/documentation/src/main/asciidoc/guides/rgcfg.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/rgcfg.adoc b/adocs/documentation/src/main/asciidoc/guides/rgcfg.adoc
index bed54a3..2908ebd 100644
--- a/adocs/documentation/src/main/asciidoc/guides/rgcfg.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/rgcfg.adoc
@@ -32,6 +32,7 @@ The user guides available are:
 * xref:ugfun.adoc#[Fundamentals]
 * xref:ugvw.adoc#[Wicket viewer]
 * xref:ugvro.adoc#[Restful Objects viewer]
+* xref:ugvro.adoc#[DataNucleus object store]
 * xref:ugsec.adoc#[Security]
 * xref:ugtst.adoc#[Testing]
 * xref:ugbtb.adoc#[Beyond the Basics]

http://git-wip-us.apache.org/repos/asf/isis/blob/019b6920/adocs/documentation/src/main/asciidoc/guides/rgcms.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/rgcms.adoc b/adocs/documentation/src/main/asciidoc/guides/rgcms.adoc
index aff9b23..b8dee1a 100644
--- a/adocs/documentation/src/main/asciidoc/guides/rgcms.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/rgcms.adoc
@@ -25,6 +25,7 @@ The user guides available are:
 * xref:ugfun.adoc#[Fundamentals]
 * xref:ugvw.adoc#[Wicket viewer]
 * xref:ugvro.adoc#[Restful Objects viewer]
+* xref:ugvro.adoc#[DataNucleus object store]
 * xref:ugsec.adoc#[Security]
 * xref:ugtst.adoc#[Testing]
 * xref:ugbtb.adoc#[Beyond the Basics]

http://git-wip-us.apache.org/repos/asf/isis/blob/019b6920/adocs/documentation/src/main/asciidoc/guides/rgfis.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/rgfis.adoc b/adocs/documentation/src/main/asciidoc/guides/rgfis.adoc
index 85ebfe7..33f92af 100644
--- a/adocs/documentation/src/main/asciidoc/guides/rgfis.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/rgfis.adoc
@@ -30,6 +30,7 @@ The user guides available are:
 * xref:ugfun.adoc#[Fundamentals]
 * xref:ugvw.adoc#[Wicket viewer]
 * xref:ugvro.adoc#[Restful Objects viewer]
+* xref:ugvro.adoc#[DataNucleus object store]
 * xref:ugsec.adoc#[Security]
 * xref:ugtst.adoc#[Testing]
 * xref:ugbtb.adoc#[Beyond the Basics]

http://git-wip-us.apache.org/repos/asf/isis/blob/019b6920/adocs/documentation/src/main/asciidoc/guides/rgmvn.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/rgmvn.adoc b/adocs/documentation/src/main/asciidoc/guides/rgmvn.adoc
index 7f1162f..ccf1ea3 100644
--- a/adocs/documentation/src/main/asciidoc/guides/rgmvn.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/rgmvn.adoc
@@ -21,6 +21,7 @@ The user guides available are:
 * xref:ugfun.adoc#[Fundamentals]
 * xref:ugvw.adoc#[Wicket viewer]
 * xref:ugvro.adoc#[Restful Objects viewer]
+* xref:ugvro.adoc#[DataNucleus object store]
 * xref:ugsec.adoc#[Security]
 * xref:ugtst.adoc#[Testing]
 * xref:ugbtb.adoc#[Beyond the Basics]

http://git-wip-us.apache.org/repos/asf/isis/blob/019b6920/adocs/documentation/src/main/asciidoc/guides/rgsvc.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/rgsvc.adoc b/adocs/documentation/src/main/asciidoc/guides/rgsvc.adoc
index ac2924b..696d748 100644
--- a/adocs/documentation/src/main/asciidoc/guides/rgsvc.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/rgsvc.adoc
@@ -25,6 +25,7 @@ The user guides available are:
 * xref:ugfun.adoc#[Fundamentals]
 * xref:ugvw.adoc#[Wicket viewer]
 * xref:ugvro.adoc#[Restful Objects viewer]
+* xref:ugvro.adoc#[DataNucleus object store]
 * xref:ugsec.adoc#[Security]
 * xref:ugtst.adoc#[Testing]
 * xref:ugbtb.adoc#[Beyond the Basics]

http://git-wip-us.apache.org/repos/asf/isis/blob/019b6920/adocs/documentation/src/main/asciidoc/guides/ugbtb.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/ugbtb.adoc b/adocs/documentation/src/main/asciidoc/guides/ugbtb.adoc
index 5095118..572c23b 100644
--- a/adocs/documentation/src/main/asciidoc/guides/ugbtb.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/ugbtb.adoc
@@ -23,6 +23,7 @@ The user guides available are:
 * xref:ugfun.adoc#[Fundamentals]
 * xref:ugvw.adoc#[Wicket viewer]
 * xref:ugvro.adoc#[Restful Objects viewer]
+* xref:ugvro.adoc#[DataNucleus object store]
 * xref:ugsec.adoc#[Security]
 * xref:ugtst.adoc#[Testing]
 * xref:ugbtb.adoc#[Beyond the Basics] (this guide)
@@ -47,7 +48,6 @@ include::_ugbtb_view-models.adoc[leveloffset=+1]
 include::_ugbtb_decoupling.adoc[leveloffset=+1]
 include::_ugbtb_i18n.adoc[leveloffset=+1]
 include::_ugbtb_headless-access.adoc[leveloffset=+1]
-include::_ugbtb_datanucleus.adoc[leveloffset=+1]
 include::_ugbtb_other-techniques.adoc[leveloffset=+1]
 include::_ugbtb_programming-model.adoc[leveloffset=+1]
 include::_ugbtb_deployment.adoc[leveloffset=+1]

http://git-wip-us.apache.org/repos/asf/isis/blob/019b6920/adocs/documentation/src/main/asciidoc/guides/ugfun.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/ugfun.adoc b/adocs/documentation/src/main/asciidoc/guides/ugfun.adoc
index af1a7d8..c935886 100644
--- a/adocs/documentation/src/main/asciidoc/guides/ugfun.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/ugfun.adoc
@@ -25,6 +25,7 @@ The user guides available are:
 * xref:ugfun.adoc#[Fundamentals] (this guide)
 * xref:ugvw.adoc#[Wicket viewer]
 * xref:ugvro.adoc#[Restful Objects viewer]
+* xref:ugvro.adoc#[DataNucleus object store]
 * xref:ugsec.adoc#[Security]
 * xref:ugtst.adoc#[Testing]
 * xref:ugbtb.adoc#[Beyond the Basics]

http://git-wip-us.apache.org/repos/asf/isis/blob/019b6920/adocs/documentation/src/main/asciidoc/guides/ugodn.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/ugodn.adoc b/adocs/documentation/src/main/asciidoc/guides/ugodn.adoc
new file mode 100644
index 0000000..20cc991
--- /dev/null
+++ b/adocs/documentation/src/main/asciidoc/guides/ugodn.adoc
@@ -0,0 +1,64 @@
+[[ugdnos]]
+= DataNucleus Object Store
+: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: ../
+:_imagesdir: images/
+:numbered:
+
+
+
+
+[[_ugdnos]]
+== DataNucleus Object Store
+
+The DataNucleus Object Store enables domain objects to be persisted to relational as well as NoSQL databases.  The object store is implemented using link:http://datanuclues.org[DataNucleus].
+
+This user guide discuss end-user features, configuration and customization of the DataNucleus object store.
+
+
+
+[NOTE]
+====
+DataNucleus as a product also supports the JPA API; Apache Isis is likely to also support JPA in the future.
+====
+
+
+include::_ugbtb_datanucleus_overriding-jdo-annotations.adoc[leveloffset=+1]
+include::_ugbtb_datanucleus_java8.adoc[leveloffset=+1]
+
+
+
+=== Other Guides
+
+Apache Isis documentation is broken out into a number of user and reference guides.
+
+The user guides available are:
+
+* xref:ugfun.adoc#[Fundamentals]
+* xref:ugvw.adoc#[Wicket viewer]
+* xref:ugvro.adoc#[Restful Objects viewer]
+* xref:ugvro.adoc#[DataNucleus object store] (this guide)
+* xref:ugsec.adoc#[Security]
+* xref:ugtst.adoc#[Testing]
+* xref:ugbtb.adoc#[Beyond the Basics]
+
+The reference guides are:
+
+* xref:rgant.adoc#[Annotations]
+* xref:rgsvc.adoc#[Domain Services]
+* xref:rgcfg.adoc#[Configuration Properties]
+* xref:rgcms.adoc#[Classes, Methods and Schema]
+* xref:rgmvn.adoc#[Apache Isis Maven plugin]
+* xref:rgfis.adoc#[Framework Internal Services]
+
+The remaining guides are:
+
+* xref:dg.adoc#[Developers' Guide] (how to set up a development environment
+for Apache Isis and contribute back to the project)
+* xref:cgcom.adoc#[Committers' Guide] (release procedures and related practices)
+
+
+
+include::_ugodn_overriding-jdo-annotations.adoc[leveloffset=+1]
+include::_ugodn_java8.adoc[leveloffset=+1]
+

http://git-wip-us.apache.org/repos/asf/isis/blob/019b6920/adocs/documentation/src/main/asciidoc/guides/ugsec.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/ugsec.adoc b/adocs/documentation/src/main/asciidoc/guides/ugsec.adoc
index 3a4283a..7809faf 100644
--- a/adocs/documentation/src/main/asciidoc/guides/ugsec.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/ugsec.adoc
@@ -21,6 +21,7 @@ The user guides available are:
 * xref:ugfun.adoc#[Fundamentals]
 * xref:ugvw.adoc#[Wicket viewer]
 * xref:ugvro.adoc#[Restful Objects viewer]
+* xref:ugvro.adoc#[DataNucleus object store]
 * xref:ugsec.adoc#[Security] (this guide)
 * xref:ugtst.adoc#[Testing]
 * xref:ugbtb.adoc#[Beyond the Basics]

http://git-wip-us.apache.org/repos/asf/isis/blob/019b6920/adocs/documentation/src/main/asciidoc/guides/ugtst.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/ugtst.adoc b/adocs/documentation/src/main/asciidoc/guides/ugtst.adoc
index c23ed61..56be31a 100644
--- a/adocs/documentation/src/main/asciidoc/guides/ugtst.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/ugtst.adoc
@@ -26,6 +26,7 @@ The user guides available are:
 * xref:ugfun.adoc#[Fundamentals]
 * xref:ugvw.adoc#[Wicket viewer]
 * xref:ugvro.adoc#[Restful Objects viewer]
+* xref:ugvro.adoc#[DataNucleus object store]
 * xref:ugsec.adoc#[Security]
 * xref:ugtst.adoc#[Testing] (this guide)
 * xref:ugbtb.adoc#[Beyond the Basics]

http://git-wip-us.apache.org/repos/asf/isis/blob/019b6920/adocs/documentation/src/main/asciidoc/guides/ugvro.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/ugvro.adoc b/adocs/documentation/src/main/asciidoc/guides/ugvro.adoc
index 7b2379a..ac2eb32 100644
--- a/adocs/documentation/src/main/asciidoc/guides/ugvro.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/ugvro.adoc
@@ -31,6 +31,7 @@ The user guides available are:
 * xref:ugfun.adoc#[Fundamentals]
 * xref:ugvw.adoc#[Wicket viewer]
 * xref:ugvro.adoc#[Restful Objects viewer] (this guide)
+* xref:ugvro.adoc#[DataNucleus object store]
 * xref:ugsec.adoc#[Security]
 * xref:ugtst.adoc#[Testing]
 * xref:ugbtb.adoc#[Beyond the Basics]

http://git-wip-us.apache.org/repos/asf/isis/blob/019b6920/adocs/documentation/src/main/asciidoc/guides/ugvw.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/ugvw.adoc b/adocs/documentation/src/main/asciidoc/guides/ugvw.adoc
index c93808d..d9c796b 100644
--- a/adocs/documentation/src/main/asciidoc/guides/ugvw.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/ugvw.adoc
@@ -27,6 +27,7 @@ The user guides available are:
 * xref:ugfun.adoc#[Fundamentals]
 * xref:ugvw.adoc#[Wicket viewer] (this guide)
 * xref:ugvro.adoc#[Restful Objects viewer]
+* xref:ugvro.adoc#[DataNucleus object store]
 * xref:ugsec.adoc#[Security]
 * xref:ugtst.adoc#[Testing]
 * xref:ugbtb.adoc#[Beyond the Basics]