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 2021/03/31 12:54:41 UTC

[isis] 16/20: ISIS-2484: updating docs on JDO and JPA

This is an automated email from the ASF dual-hosted git repository.

danhaywood pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/isis.git

commit adcca72580e45e8854db5235b67b32f482089155
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Wed Mar 31 11:26:00 2021 +0100

    ISIS-2484: updating docs on JDO and JPA
    
    (cherry picked from commit e92c2ff3afb1eff320793dabeb8f43d84fbe85b1)
---
 .../attachments}/Pawson-Naked-Objects-thesis.pdf   | Bin
 antora/playbooks/site-security.yml                 |   3 +
 antora/playbooks/site.yml                          |   3 +
 persistence/jdo/adoc/modules/ROOT/pages/about.adoc |   5 +-
 .../modules/ROOT/pages/configuring/bulk-load.adoc  |  35 ----------
 .../disabling-persistence-by-reachability.adoc     |   1 +
 .../ROOT/pages/configuring/persistence-xml.adoc    |  36 ----------
 .../modules/ROOT/pages/configuring/properties.adoc |  15 -----
 .../pages/configuring/using-jndi-data-source.adoc  |  75 ---------------------
 .../adoc/modules/ROOT/pages/other-resources.adoc}  |   7 +-
 .../jdo/adoc/modules/ROOT/partials/module-nav.adoc |   1 +
 persistence/jpa/adoc/modules/ROOT/pages/about.adoc |   8 ++-
 .../module-nav.adoc => pages/applib.adoc}          |   0
 .../jpa/adoc/modules/ROOT/pages/mapping-guide.adoc |  19 ++++--
 .../{about.adoc => setup-and-configuration.adoc}   |   8 ++-
 .../jpa/adoc/modules/ROOT/partials/module-nav.adoc |   1 +
 .../adoc/modules/ROOT/partials/component-nav.adoc  |   7 +-
 security/spring/src/main/adoc/antora.yml           |  19 ++++++
 .../spring/src/main/adoc/modules/spring/nav.adoc   |   6 +-
 .../src/main/adoc/modules/spring}/pages/about.adoc |   8 ++-
 .../adoc/modules/spring/partials/module-nav.adoc   |   2 +
 .../adoc/modules/ROOT/pages/about.adoc             |   2 +-
 .../adoc/modules/ROOT/pages/other-resources.adoc   |   7 +-
 .../adoc/modules/ROOT/partials/module-nav.adoc     |   2 +
 viewers/wicket/adoc/modules/ROOT/pages/about.adoc  |   2 +-
 .../adoc/modules/ROOT/pages/other-resources.adoc   |   7 +-
 .../adoc/modules/ROOT/partials/module-nav.adoc     |   2 +
 27 files changed, 83 insertions(+), 198 deletions(-)

diff --git a/antora/components/userguide/modules/fun/attachments/core-concepts/Pawson-Naked-Objects-thesis.pdf b/antora/components/docs/modules/ROOT/attachments/Pawson-Naked-Objects-thesis.pdf
similarity index 100%
rename from antora/components/userguide/modules/fun/attachments/core-concepts/Pawson-Naked-Objects-thesis.pdf
rename to antora/components/docs/modules/ROOT/attachments/Pawson-Naked-Objects-thesis.pdf
diff --git a/antora/playbooks/site-security.yml b/antora/playbooks/site-security.yml
index 6ce89a6..1c7316b 100644
--- a/antora/playbooks/site-security.yml
+++ b/antora/playbooks/site-security.yml
@@ -70,6 +70,9 @@ content:
     - url: .
       start_path: security/keycloak/src/main/adoc # security
       branches: HEAD
+    - url: .
+      start_path: security/spring/src/main/adoc # security
+      branches: HEAD
 
 
 # starters
diff --git a/antora/playbooks/site.yml b/antora/playbooks/site.yml
index 1e02ff3..a269c28 100644
--- a/antora/playbooks/site.yml
+++ b/antora/playbooks/site.yml
@@ -236,6 +236,9 @@ content:
     - url: .
       start_path: security/keycloak/src/main/adoc # security
       branches: HEAD
+    - url: .
+      start_path: security/spring/src/main/adoc # security
+      branches: HEAD
 
 # starters
     - url: .
diff --git a/persistence/jdo/adoc/modules/ROOT/pages/about.adoc b/persistence/jdo/adoc/modules/ROOT/pages/about.adoc
index a322fec..4cb5be3 100644
--- a/persistence/jdo/adoc/modules/ROOT/pages/about.adoc
+++ b/persistence/jdo/adoc/modules/ROOT/pages/about.adoc
@@ -4,9 +4,10 @@
 
 
 The JDO/DataNucleus object store enables domain objects to be persisted to relational as well as NoSQL databases.
-The object store is implemented using link:http://datanucleus.org[DataNucleus] ORM.
+The object store is implemented using link:http://datanucleus.org[DataNucleus] ORM using the link:https://www.jcp.org/en/jsr/detail?id=243[JDO] API.
+DataNucleus is the reference implementation for JDO.
 
-This user guide discuss how to setup  the framework to use the JDO/DataNucleus object store, how to configure the ORM, and also provides some examples on common use cases.
+This component guide discuss how to setup the framework to use the JDO/DataNucleus object store, how to configure the ORM, and also provides some examples on common use cases.
 
 
 
diff --git a/persistence/jdo/adoc/modules/ROOT/pages/configuring/bulk-load.adoc b/persistence/jdo/adoc/modules/ROOT/pages/configuring/bulk-load.adoc
deleted file mode 100644
index 8032583..0000000
--- a/persistence/jdo/adoc/modules/ROOT/pages/configuring/bulk-load.adoc
+++ /dev/null
@@ -1,35 +0,0 @@
-[[bulk-load]]
-= Bulk Load of Standalone Collections
-
-: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 ag [...]
-
-
-The implementation of user interactions (meaning either an action invocations or a property edits) in the xref:vw:ROOT:about.adoc[Wicket viewer] is splits into two.
-The first phase performs the actual interaction, with the results (dirtied objects) flushed to the database.
-The second phase then renders the results of the interaction.
-
-When the user interaction in question is an action invocation that returns a list of objects, the resultant list is not rendered in the first phase.
-Instead, only the IDs of the objects in the list are captured.
-When the list is then rendered, the framework re-loads each object.
-
-The default implementation does this row-by-row, resulting in multiple queries against the database.
-Setting the property:
-
-[source,ini]
-----
-isis.persistor.datanucleus.standaloneCollection.bulkLoad=true
-----
-
-changes to a more efficient implementation that bulk loads all the objects using a single query.
-
-
-[NOTE]
-====
-In the future the bulkLoad implementation may be made the default.
-====
-
-[NOTE]
-====
-The implementation of parented collections does not suffer from this issue; the rendering phase runs the query to obtain the matches.
-====
-
diff --git a/persistence/jdo/adoc/modules/ROOT/pages/configuring/disabling-persistence-by-reachability.adoc b/persistence/jdo/adoc/modules/ROOT/pages/configuring/disabling-persistence-by-reachability.adoc
index aaee4d1..276df40 100644
--- a/persistence/jdo/adoc/modules/ROOT/pages/configuring/disabling-persistence-by-reachability.adoc
+++ b/persistence/jdo/adoc/modules/ROOT/pages/configuring/disabling-persistence-by-reachability.adoc
@@ -31,6 +31,7 @@ This change has been made to both the xref:docs:starters:helloworld.adoc[HelloWo
 
 If you do disable this feature, then you will (of course) need to ensure that you explicitly persist all entities using the `RepositoryService#persist(.)` or `RepositoryService#persistAndFlush(.)` methods.
 
+
 == The issue in more detail
 
 Consider these entities (http://yuml.me/edit/b8681268[yuml.me/b8681268]):
diff --git a/persistence/jdo/adoc/modules/ROOT/pages/configuring/persistence-xml.adoc b/persistence/jdo/adoc/modules/ROOT/pages/configuring/persistence-xml.adoc
deleted file mode 100644
index 1b8efac..0000000
--- a/persistence/jdo/adoc/modules/ROOT/pages/configuring/persistence-xml.adoc
+++ /dev/null
@@ -1,36 +0,0 @@
-[[persistence-xml]]
-= `persistence.xml`
-
-: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 ag [...]
-
-
-
-DataNucleus will for itself also and read the `META-INF/persistence.xml`.
-In theory it can hold mappings and even connection strings.
-However, with Apache Isis we tend to use annotations instead and externalize connection strings. so its definition is extremely simply, specifying just the name of the "persistence unit".
-
-Here's the one provided by the xref:docs:starters:simpleapp.adoc[SimpleApp] starter app:
-
-[source,xml]
-----
-<?xml version="1.0" encoding="UTF-8" ?>
-<persistence xmlns="http://java.sun.com/xml/ns/persistence"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd" version="1.0">
-
-    <persistence-unit name="simple">
-    </persistence-unit>
-</persistence>
-----
-
-Normally all one needs to do is to change the `persistence-unit` name.
-
-[TIP]
-====
-If you use Eclipse IDE on Windows then
-xref:setupguide:eclipse:about.adoc#workaround-for-path-limits-the-dn-plugin-to-use-the-persistence-xml[note the importance] of the `persistence.xml` file to make DataNucleus enhancer work correctly.
-====
-
-
-
-See link:http://www.datanucleus.org/products/datanucleus/jdo/persistence.html#persistenceunit[DataNucleus' documentation] on `persistence.xml` to learn more.
diff --git a/persistence/jdo/adoc/modules/ROOT/pages/configuring/properties.adoc b/persistence/jdo/adoc/modules/ROOT/pages/configuring/properties.adoc
deleted file mode 100644
index 73c7a87..0000000
--- a/persistence/jdo/adoc/modules/ROOT/pages/configuring/properties.adoc
+++ /dev/null
@@ -1,15 +0,0 @@
-[[properties]]
-= Configuration Properties
-
-: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 ag [...]
-
-The connection to the database is specified using Spring's link:https://docs.spring.io/spring-boot/docs/current/reference/html/spring-boot-features.html#boot-features-connect-to-production-database-configuration[datasource properties]: `spring.datasource.url` and its kin.
-
-
-DataNucleus configuration properties can be specified and are passed through directly.
-Some of the most common can be found through "intellisense" on `application.properties` or `application.yml`, if your IDE supports it.
-These are listed in the xref:refguide:config:sections/datanucleus.adoc[datanucleus section] of the xref:refguide:config:about.adoc[Configuration Guide].
-
-There are also some configuration properties that Apache Isis defines that applies to both JDO and JPA.
-These can be found in the xref:refguide:config:sections/isis.persistence.schema.adoc[isis.persistence.schema] section of the Configuratoin Guide.
-
diff --git a/persistence/jdo/adoc/modules/ROOT/pages/configuring/using-jndi-data-source.adoc b/persistence/jdo/adoc/modules/ROOT/pages/configuring/using-jndi-data-source.adoc
deleted file mode 100644
index f39a984..0000000
--- a/persistence/jdo/adoc/modules/ROOT/pages/configuring/using-jndi-data-source.adoc
+++ /dev/null
@@ -1,75 +0,0 @@
-[[using-jndi-data-source]]
-= Using JNDI DataSource
-
-: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 ag [...]
-
-
-WARNING: TODO - v2 - not yet reviewed/updated.
-
-Apache Isis' JDO objectstore can be configured either to connect to the database using its own connection pool, or by using a container-managed datasource.
-
-== Application managed
-
-Using a connection pool managed directly by the application (that is, by Apache Isis' JDO objectstore and ultimately by DataNucleus) requires a single set of configuration properties to be specified.
-
-Specify the connection driver, url, username and password.
-For example:
-
-[source,ini]
-----
-javax.jdo.option.ConnectionDriverName=net.sf.log4jdbc.DriverSpy
-javax.jdo.option.ConnectionURL=jdbc:log4jdbc:hsqldb:mem:test
-javax.jdo.option.ConnectionUserName=sa
-javax.jdo.option.ConnectionPassword=
-----
-
-
-It is also possible to specify the `datanucleus.ConnectionPasswordDecrypter` property; 
-see the link:http://www.datanucleus.org/products/accessplatform_4_1/persistence_properties.html#ConnectionPasswordDecrypter[DataNucleus documentation] for further details.
-
-
-
-
-== Container managed (JNDI)
-
-Using a datasource managed by the servlet container requires three separate bits of configuration.
-
-Firstly, specify the name of the datasource in the `WEB-INF\persistor_datanucleus.properties` file. For example:
-
-If connection pool settings are also present in this file, they will simply be ignored. Any other configuration properties are passed through directly to DataNucleus.
-
-Secondly, in the `WEB-INF/web.xml`, declare the resource reference:
-
-[source,xml]
-----
-<resource-ref>
-    <description>db</description>
-    <res-ref-name>jdbc/simpleapp</res-ref-name>
-    <res-type>javax.sql.DataSource</res-type>
-    <res-auth>Container</res-auth>
-</resource-ref>
-----
-
-Finally, declare the datasource as required by the servlet container. For example, if using Tomcat 7, the datasource can be specified by adding the following to `$TOMCAT_HOME/conf/context.xml`:
-
-[source,xml]
-----
-<Resource name="jdbc/simpleapp"
-  auth="Container"
-  type="javax.sql.DataSource"
-  maxActive="100"
-  maxIdle="30"
-  maxWait="10000"
-  username="sa"
-  password="p4ssword"
-  driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
-  url="jdbc:sqlserver://127.0.0.1:1433;instance=.;databaseName=simpleapp"/>
-----
-
-You will also need to make sure that the JDBC driver is on the servlet container's classpath. For Tomcat, this means copying the driver to `$TOMCAT_HOME/lib`.
-
-[NOTE]
-====
-According to Tomcat's documentation, it is supposedly possible to copy the `conf/context.xml` to the name of the webapp, eg `conf/mywebapp.xml`, and scope the connection to that webapp only.  I was unable to get this working, however.
-====
-
diff --git a/persistence/jpa/adoc/modules/ROOT/pages/about.adoc b/persistence/jdo/adoc/modules/ROOT/pages/other-resources.adoc
similarity index 87%
copy from persistence/jpa/adoc/modules/ROOT/pages/about.adoc
copy to persistence/jdo/adoc/modules/ROOT/pages/other-resources.adoc
index b977118..8aab42b 100644
--- a/persistence/jpa/adoc/modules/ROOT/pages/about.adoc
+++ b/persistence/jdo/adoc/modules/ROOT/pages/other-resources.adoc
@@ -1,8 +1,7 @@
-= JPA
+= Other Resources
 
 :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 ag [...]
+:page-aliases: guides:ugvw:ugvw.adoc
 
-:page-toc: ~
-
-WARNING: TODO: v2 - to document.
+WARNING: TODO: document 3rd party tutorials and resources.
 
diff --git a/persistence/jdo/adoc/modules/ROOT/partials/module-nav.adoc b/persistence/jdo/adoc/modules/ROOT/partials/module-nav.adoc
index 5d752ed..cda6568 100644
--- a/persistence/jdo/adoc/modules/ROOT/partials/module-nav.adoc
+++ b/persistence/jdo/adoc/modules/ROOT/partials/module-nav.adoc
@@ -6,3 +6,4 @@
 * xref:pjdo:ROOT:hints-and-tips.adoc[Hints-n-Tips]
 * Domain Services
 ** xref:pjdo:ROOT:services/IsisJdoSupport.adoc[IsisJdoSupport]
+* xref:pjdo:ROOT:other-resources.adoc[Other Resources]
diff --git a/persistence/jpa/adoc/modules/ROOT/pages/about.adoc b/persistence/jpa/adoc/modules/ROOT/pages/about.adoc
index b977118..4048e64 100644
--- a/persistence/jpa/adoc/modules/ROOT/pages/about.adoc
+++ b/persistence/jpa/adoc/modules/ROOT/pages/about.adoc
@@ -2,7 +2,11 @@
 
 :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 ag [...]
 
-:page-toc: ~
 
-WARNING: TODO: v2 - to document.
+
+The JPA/EclipseLink object store enables domain objects to be persisted to relational databases.
+The object store is implemented using the link:https://www.eclipse.org/eclipselink/[EclipseLink] ORM, using the link:https://www.jcp.org/en/jsr/detail?id=317[JPA] API.
+EclipseLink is the reference implementation for JPA.
+
+This component guide discuss how to setup the framework to use the JPA/EclipseLink object store, how to configure the ORM, and also provides some examples on common use cases.
 
diff --git a/persistence/jpa/adoc/modules/ROOT/partials/module-nav.adoc b/persistence/jpa/adoc/modules/ROOT/pages/applib.adoc
similarity index 100%
copy from persistence/jpa/adoc/modules/ROOT/partials/module-nav.adoc
copy to persistence/jpa/adoc/modules/ROOT/pages/applib.adoc
diff --git a/viewers/wicket/adoc/modules/ROOT/pages/about.adoc b/persistence/jpa/adoc/modules/ROOT/pages/mapping-guide.adoc
similarity index 51%
copy from viewers/wicket/adoc/modules/ROOT/pages/about.adoc
copy to persistence/jpa/adoc/modules/ROOT/pages/mapping-guide.adoc
index 8d05228..22c7ab3 100644
--- a/viewers/wicket/adoc/modules/ROOT/pages/about.adoc
+++ b/persistence/jpa/adoc/modules/ROOT/pages/mapping-guide.adoc
@@ -1,15 +1,22 @@
-= Wicket Viewer
+= Other Resources
 
 :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 ag [...]
 :page-aliases: guides:ugvw:ugvw.adoc
 
-WARNING: TODO: this content has not yet been reviewed/updated for v2.0
 
-The Wicket Viewer automatically exposes an Apache Isis domain object model for use by end-users.
-The viewer is implemented using link:http://wicket.apache.org[Apache Wicket].
+There are plenty of resources for learning JPA annotations.
+Take a look at:
 
-This user guide discuss end-user features, configuration and customization of the Wicket viewer.
+* link:https://spring.io/guides/gs/accessing-data-jpa/[Spring Boot: Accessing Data with JPA]
 
-It also discusses how to extend the viewer, and lists a number of extensions available.
+* link:https://github.com/spring-projects/spring-data-book/tree/master/jpa/src/main/java/com/oreilly/springdata/jpa[Spring Daata Book - sample code showing several entities]
 
+* link:https://www.vogella.com/tutorials/JavaPersistenceAPI/article.html[Vogella JPA tutorial]
+
+* link:https://docs.jboss.org/hibernate/annotations/3.5/reference/en/html/entity.html[JBoss reference guide]
++
+Although written for Hibernate, the JPA material should work fine.
+
+* link:https://www.baeldung.com/tag/jpa/[JPA Baeldung tags]
+** link:https://www.baeldung.com/jpa-entities[entities]
 
diff --git a/persistence/jpa/adoc/modules/ROOT/pages/about.adoc b/persistence/jpa/adoc/modules/ROOT/pages/setup-and-configuration.adoc
similarity index 60%
copy from persistence/jpa/adoc/modules/ROOT/pages/about.adoc
copy to persistence/jpa/adoc/modules/ROOT/pages/setup-and-configuration.adoc
index b977118..4048e64 100644
--- a/persistence/jpa/adoc/modules/ROOT/pages/about.adoc
+++ b/persistence/jpa/adoc/modules/ROOT/pages/setup-and-configuration.adoc
@@ -2,7 +2,11 @@
 
 :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 ag [...]
 
-:page-toc: ~
 
-WARNING: TODO: v2 - to document.
+
+The JPA/EclipseLink object store enables domain objects to be persisted to relational databases.
+The object store is implemented using the link:https://www.eclipse.org/eclipselink/[EclipseLink] ORM, using the link:https://www.jcp.org/en/jsr/detail?id=317[JPA] API.
+EclipseLink is the reference implementation for JPA.
+
+This component guide discuss how to setup the framework to use the JPA/EclipseLink object store, how to configure the ORM, and also provides some examples on common use cases.
 
diff --git a/persistence/jpa/adoc/modules/ROOT/partials/module-nav.adoc b/persistence/jpa/adoc/modules/ROOT/partials/module-nav.adoc
index e69de29..4a1e269 100644
--- a/persistence/jpa/adoc/modules/ROOT/partials/module-nav.adoc
+++ b/persistence/jpa/adoc/modules/ROOT/partials/module-nav.adoc
@@ -0,0 +1 @@
+* xref:pjpa:ROOT:other-resources.adoc[Other Resources]
diff --git a/security/adoc/modules/ROOT/partials/component-nav.adoc b/security/adoc/modules/ROOT/partials/component-nav.adoc
index 80307c6..ffbabc4 100644
--- a/security/adoc/modules/ROOT/partials/component-nav.adoc
+++ b/security/adoc/modules/ROOT/partials/component-nav.adoc
@@ -4,14 +4,15 @@ include::security:core:partial$module-nav.adoc[]
 include::security:bypass:partial$module-nav.adoc[]
 include::security:shiro:partial$module-nav.adoc[]
 include::security:keycloak:partial$module-nav.adoc[]
+include::security:spring:partial$module-nav.adoc[]
 
 include::security:ROOT:partial$module-nav-end.adoc[]
 
 * Extensions
 
-// commented out the libraries that have not yet been brought over from incode-platform
-
-//include::security:audit-trail:partial$module-nav.adoc[]
 include::security:shiro-realm-ldap:partial$module-nav.adoc[]
 include::security:secman:partial$module-nav.adoc[]
+
+// commented out the libraries that have not yet been brought over from incode-platform
+//include::security:audit-trail:partial$module-nav.adoc[]
 //include::security:session-log:partial$module-nav.adoc[]
diff --git a/security/spring/src/main/adoc/antora.yml b/security/spring/src/main/adoc/antora.yml
new file mode 100644
index 0000000..2be1151
--- /dev/null
+++ b/security/spring/src/main/adoc/antora.yml
@@ -0,0 +1,19 @@
+#  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.
+
+name: security
+version: latest
diff --git a/persistence/jpa/adoc/modules/ROOT/pages/about.adoc b/security/spring/src/main/adoc/modules/spring/nav.adoc
similarity index 93%
copy from persistence/jpa/adoc/modules/ROOT/pages/about.adoc
copy to security/spring/src/main/adoc/modules/spring/nav.adoc
index b977118..ae4837e 100644
--- a/persistence/jpa/adoc/modules/ROOT/pages/about.adoc
+++ b/security/spring/src/main/adoc/modules/spring/nav.adoc
@@ -1,8 +1,4 @@
-= JPA
 
 :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 ag [...]
 
-:page-toc: ~
-
-WARNING: TODO: v2 - to document.
-
+include::security:ROOT:partial$component-nav.adoc[]
diff --git a/persistence/jpa/adoc/modules/ROOT/pages/about.adoc b/security/spring/src/main/adoc/modules/spring/pages/about.adoc
similarity index 77%
copy from persistence/jpa/adoc/modules/ROOT/pages/about.adoc
copy to security/spring/src/main/adoc/modules/spring/pages/about.adoc
index b977118..b168dc9 100644
--- a/persistence/jpa/adoc/modules/ROOT/pages/about.adoc
+++ b/security/spring/src/main/adoc/modules/spring/pages/about.adoc
@@ -1,8 +1,10 @@
-= JPA
+= Sring Security
 
 :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 ag [...]
+:page-partial:
 
-:page-toc: ~
+WARNING: TODO: this content has not yet been reviewed/updated for v2.0
+
+This guide describes the configuration of the Spring implementation of Apache Isis' `Authenticator and `Authorizor` APIs.
 
-WARNING: TODO: v2 - to document.
 
diff --git a/security/spring/src/main/adoc/modules/spring/partials/module-nav.adoc b/security/spring/src/main/adoc/modules/spring/partials/module-nav.adoc
new file mode 100644
index 0000000..4a42816
--- /dev/null
+++ b/security/spring/src/main/adoc/modules/spring/partials/module-nav.adoc
@@ -0,0 +1,2 @@
+
+* xref:security:spring:about.adoc[Spring Implementation]
diff --git a/viewers/restfulobjects/adoc/modules/ROOT/pages/about.adoc b/viewers/restfulobjects/adoc/modules/ROOT/pages/about.adoc
index 599e1e8..fbce180 100644
--- a/viewers/restfulobjects/adoc/modules/ROOT/pages/about.adoc
+++ b/viewers/restfulobjects/adoc/modules/ROOT/pages/about.adoc
@@ -12,7 +12,7 @@ Apache Isis' Restful Objects viewer is an implementation of the link:http://rest
 The Restful Objects viewer also provides a number of extensions specific to Apache Isis.
 Most significant of these is enhanced content negotiation support, making it easier to use the returned representations within bespoke clients using standard third-party configurations.
 
-This user guide discuss features, configuration and also how to extend the Restful Objects viewer.
+This component guide discuss features, configuration and also how to extend the Restful Objects viewer.
 
 
 
diff --git a/persistence/jpa/adoc/modules/ROOT/pages/about.adoc b/viewers/restfulobjects/adoc/modules/ROOT/pages/other-resources.adoc
similarity index 87%
copy from persistence/jpa/adoc/modules/ROOT/pages/about.adoc
copy to viewers/restfulobjects/adoc/modules/ROOT/pages/other-resources.adoc
index b977118..8aab42b 100644
--- a/persistence/jpa/adoc/modules/ROOT/pages/about.adoc
+++ b/viewers/restfulobjects/adoc/modules/ROOT/pages/other-resources.adoc
@@ -1,8 +1,7 @@
-= JPA
+= Other Resources
 
 :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 ag [...]
+:page-aliases: guides:ugvw:ugvw.adoc
 
-:page-toc: ~
-
-WARNING: TODO: v2 - to document.
+WARNING: TODO: document 3rd party tutorials and resources.
 
diff --git a/viewers/restfulobjects/adoc/modules/ROOT/partials/module-nav.adoc b/viewers/restfulobjects/adoc/modules/ROOT/partials/module-nav.adoc
index d2524de..4060253 100644
--- a/viewers/restfulobjects/adoc/modules/ROOT/partials/module-nav.adoc
+++ b/viewers/restfulobjects/adoc/modules/ROOT/partials/module-nav.adoc
@@ -10,4 +10,6 @@
 * xref:vro:ROOT:configuration-properties.adoc[Configuration Properties]
 * xref:vro:ROOT:security.adoc[Security]
 * xref:vro:ROOT:hints-and-tips.adoc[Hints-n-Tips]
+* xref:vro:ROOT:other-resources.adoc[Other Resources]
+
 
diff --git a/viewers/wicket/adoc/modules/ROOT/pages/about.adoc b/viewers/wicket/adoc/modules/ROOT/pages/about.adoc
index 8d05228..6153684 100644
--- a/viewers/wicket/adoc/modules/ROOT/pages/about.adoc
+++ b/viewers/wicket/adoc/modules/ROOT/pages/about.adoc
@@ -8,7 +8,7 @@ WARNING: TODO: this content has not yet been reviewed/updated for v2.0
 The Wicket Viewer automatically exposes an Apache Isis domain object model for use by end-users.
 The viewer is implemented using link:http://wicket.apache.org[Apache Wicket].
 
-This user guide discuss end-user features, configuration and customization of the Wicket viewer.
+This component guide discuss end-user features, configuration and customization of the Wicket viewer.
 
 It also discusses how to extend the viewer, and lists a number of extensions available.
 
diff --git a/persistence/jpa/adoc/modules/ROOT/pages/about.adoc b/viewers/wicket/adoc/modules/ROOT/pages/other-resources.adoc
similarity index 87%
copy from persistence/jpa/adoc/modules/ROOT/pages/about.adoc
copy to viewers/wicket/adoc/modules/ROOT/pages/other-resources.adoc
index b977118..8aab42b 100644
--- a/persistence/jpa/adoc/modules/ROOT/pages/about.adoc
+++ b/viewers/wicket/adoc/modules/ROOT/pages/other-resources.adoc
@@ -1,8 +1,7 @@
-= JPA
+= Other Resources
 
 :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 ag [...]
+:page-aliases: guides:ugvw:ugvw.adoc
 
-:page-toc: ~
-
-WARNING: TODO: v2 - to document.
+WARNING: TODO: document 3rd party tutorials and resources.
 
diff --git a/viewers/wicket/adoc/modules/ROOT/partials/module-nav.adoc b/viewers/wicket/adoc/modules/ROOT/partials/module-nav.adoc
index 5add83e..811d26e 100644
--- a/viewers/wicket/adoc/modules/ROOT/partials/module-nav.adoc
+++ b/viewers/wicket/adoc/modules/ROOT/partials/module-nav.adoc
@@ -7,6 +7,8 @@
 * xref:vw:ROOT:customisation.adoc[Customisation]
 * xref:vw:ROOT:extending.adoc[Extending]
 * xref:vw:ROOT:hints-and-tips.adoc[Hints-n-Tips]
+* xref:vw:ROOT:other-resources.adoc[Other Resources]
+