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/04/25 20:21:48 UTC

[8/8] isis-site git commit: ISIS-1335: improving docs for setting up file/live templates for IntelliJ, some small fixes. Also updated the cheat sheet PDF/docx

ISIS-1335: improving docs for setting up file/live templates for IntelliJ, some small fixes.  Also updated the cheat sheet PDF/docx


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

Branch: refs/heads/asf-site
Commit: ec1efb3cedf258c8165ed3aa8fe72b2facfb62f0
Parents: 774a4eb
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Mon Apr 25 19:15:45 2016 +0100
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Mon Apr 25 19:20:36 2016 +0100

----------------------------------------------------------------------
 content/guides/dg.html                          |   607 +-
 content/guides/dg.pdf                           | 12511 ++++++++---------
 .../030-import-settings/040-file-templates.png  |   Bin 0 -> 39841 bytes
 .../030-import-settings/050-live-templates.png  |   Bin 0 -> 38456 bytes
 .../intellij/isis-settings-code-style.jar       |   Bin 0 -> 3512 bytes
 .../intellij/isis-settings-file-templates.jar   |   Bin 0 -> 9315 bytes
 .../intellij/isis-settings-live-templates.jar   |   Bin 0 -> 7492 bytes
 .../intellij/other/dan-settings-keymaps.jar     |   Bin 0 -> 2200 bytes
 .../intellij/other/dan-settings-uisettings.jar  |   Bin 0 -> 861 bytes
 content/guides/ugfun.html                       |     2 +-
 content/guides/ugfun.pdf                        |  5188 +++----
 content/guides/ugtst.html                       |     2 +-
 content/guides/ugtst.pdf                        |  2853 ++--
 content/images/cheat-sheets/cover.png           |   Bin 147058 -> 151235 bytes
 .../resources/cheat-sheets/IsisCheatSheet.docx  |   Bin 32603 -> 33225 bytes
 .../resources/cheat-sheets/IsisCheatSheet.pdf   |   Bin 425434 -> 432718 bytes
 ...-settings-file-templates-for-apache-isis.jar |   Bin 9105 -> 0 bytes
 .../templates/isis-asciidoc-templates-idea.xml  |   331 -
 .../resources/templates/isis-templates-idea.xml |   522 -
 content/resources/templates/isis-templates.xml  |   465 -
 .../templates/jmock2-templates-idea.xml         |    91 -
 .../resources/templates/jmock2-templates.xml    |     9 -
 .../templates/junit4-templates-idea.xml         |    55 -
 .../resources/templates/junit4-templates.xml    |    13 -
 24 files changed, 9910 insertions(+), 12739 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis-site/blob/ec1efb3c/content/guides/dg.html
----------------------------------------------------------------------
diff --git a/content/guides/dg.html b/content/guides/dg.html
index a4352da..bd4bf1b 100644
--- a/content/guides/dg.html
+++ b/content/guides/dg.html
@@ -610,7 +610,7 @@ as Jenkins)</p>
 </td>
 <td class="content">
 <div class="paragraph">
-<p>This material does not constitute an endorsement; JetBrains is not affiliated to Apache Software Foundation in any way.</p>
+<p>This material does not constitute an endorsement; JetBrains is not affiliated to Apache Software Foundation in any way.  JetBrains does however provide complimentary copies of the IntelliJ IDE to Apache committers.</p>
 </div>
 </td>
 </tr>
@@ -622,8 +622,7 @@ as Jenkins)</p>
 <div class="sect3">
 <h4 id="_installing_and_setting_up">2.1.1. Installing and Setting up</h4>
 <div class="paragraph">
-<p>This section covers installation and setup. These notes relates to IntelliJ Community Edition 14.1.x, with
-screenshots taken for Windows.</p>
+<p>This section covers installation and setup. These notes/screenshots were prepared using IntelliJ Community Edition 14.1.x, but are believed to be compatible with more recent versions/other editions of the IDE.</p>
 </div>
 <div class="sect4">
 <h5 id="_download_and_install">Download and Install</h5>
@@ -713,28 +712,16 @@ screenshots taken for Windows.</p>
 </div>
 <div class="imageblock">
 <div class="content">
-<img src="images/appendices/dev-env/intellij-idea/020-create-new-project/020-java-project-setup-jdk.png" alt="020 java project setup jdk" width="600px">
+<img src="images/appendices/dev-env/intellij-idea/020-create-new-project/020-java-project-setup-jdk.png" alt="020 java project setup jdk" width="500px">
 </div>
 <div class="title">Figure 9. IntelliJ Create New Project - Create a Java project</div>
 </div>
 <div class="paragraph">
-<p>We therefore need to specify the JDK.</p>
-</div>
-<div class="admonitionblock note">
-<table>
-<tr>
-<td class="icon">
-<i class="fa icon-note" title="Note"></i>
-</td>
-<td class="content">
-at the time of writing Apache Isis supports only Java 7; Java 8 is scheduled for support in Apache Isis v1.9.0
-</td>
-</tr>
-</table>
+<p>We therefore need to specify the JDK.  Apache Isis supports both Java 7 and Java 8.</p>
 </div>
 <div class="imageblock">
 <div class="content">
-<img src="images/appendices/dev-env/intellij-idea/020-create-new-project/030-java-project-select-jdk.png" alt="030 java project select jdk" width="300px">
+<img src="images/appendices/dev-env/intellij-idea/020-create-new-project/030-java-project-select-jdk.png" alt="030 java project select jdk" width="250px">
 </div>
 <div class="title">Figure 10. IntelliJ Create New Java Project - Select the JDK</div>
 </div>
@@ -752,42 +739,82 @@ at the time of writing Apache Isis supports only Java 7; Java 8 is scheduled for
 </div>
 <div class="imageblock">
 <div class="content">
-<img src="images/appendices/dev-env/intellij-idea/020-create-new-project/060-create-dir.png" alt="060 create dir" width="200px">
+<img src="images/appendices/dev-env/intellij-idea/020-create-new-project/060-create-dir.png" alt="060 create dir" width="250px">
 </div>
 <div class="title">Figure 12. IntelliJ Create New Project</div>
 </div>
 </div>
 <div class="sect4">
-<h5 id="_import_settings">Import Settings</h5>
+<h5 id="_dg_ide_intellij_file-templates">File templates</h5>
 <div class="paragraph">
-<p>Next we need to configure IntelliJ with ASF/Apache Isis' standard templates and coding conventions.  These are bundled as the <code>settings.jar</code> JAR file <a href="resources/appendices/dev-env/intellij/isis-settings.jar">download from the Apache Isis website</a>).</p>
+<p>Next we recommend you import a set of standard file templates.  These are used to create new classes or supporting files:</p>
+</div>
+<div class="imageblock">
+<div class="content">
+<img src="images/appendices/dev-env/intellij-idea/030-import-settings/040-file-templates.png" alt="040 file templates" width="400px">
+</div>
+<div class="title">Figure 13. File templates</div>
 </div>
 <div class="paragraph">
-<p>Import using: <code>File &gt; Import Settings</code>, and specify the directory that you have downloaded the file to:</p>
+<p>The file templates are provided as a settings JAR file, namely <strong><a href="resources/appendices/dev-env/intellij/isis-settings-file-templates.jar">isis-settings-file-templates.jar</a></strong>.  Download this file and import using <code>File &gt; Import Settings</code>, specifying the
+directory that you have downloaded the file to:</p>
 </div>
 <div class="imageblock">
 <div class="content">
 <img src="images/appendices/dev-env/intellij-idea/030-import-settings/010-settings-import-jar.png" alt="010 settings import jar" width="400px">
 </div>
-<div class="title">Figure 13. IntelliJ Import Settings - Specify JAR file</div>
+<div class="title">Figure 14. IntelliJ Import Settings - Specify JAR file</div>
 </div>
 <div class="paragraph">
-<p>Select all the (two) categories of settings available in the JAR file:</p>
+<p>Select all the categories (there should just be one), and hit OK.  then hit restart:</p>
 </div>
 <div class="imageblock">
 <div class="content">
-<img src="images/appendices/dev-env/intellij-idea/030-import-settings/020-select-all.png" alt="020 select all" width="300px">
+<img src="images/appendices/dev-env/intellij-idea/030-import-settings/030-restart.png" alt="030 restart" width="250px">
+</div>
+<div class="title">Figure 15. IntelliJ Import Settings - Restart</div>
 </div>
-<div class="title">Figure 14. IntelliJ Import Settings - Select all categories</div>
 </div>
+<div class="sect4">
+<h5 id="_dg_ide_intellij_live-templates">Live templates</h5>
 <div class="paragraph">
-<p>And then restart:</p>
+<p>We also recommend you import a set  of live templates.  These are used to add new methods to existing classes:</p>
 </div>
 <div class="imageblock">
 <div class="content">
-<img src="images/appendices/dev-env/intellij-idea/030-import-settings/030-restart.png" alt="030 restart" width="200px">
+<img src="images/appendices/dev-env/intellij-idea/030-import-settings/050-live-templates.png" alt="050 live templates" width="600px">
 </div>
-<div class="title">Figure 15. IntelliJ Import Settings - Restart</div>
+<div class="title">Figure 16. Live templates</div>
+</div>
+<div class="paragraph">
+<p>The live templates have a prefix of prefixed either:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p><code>is</code> : for Apache Isis domain objects</p>
+</li>
+<li>
+<p><code>ju</code> : for JUnit tests</p>
+</li>
+<li>
+<p><code>jm</code> : for JMock mocks or libraries</p>
+</li>
+<li>
+<p><code>ad</code> : for Asciidoc documentation; a full list can be found in the <a href="#_dg_asciidoc-templates">appendix</a>.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>The live templates are also provided as a settings JAR file, namely <strong><a href="resources/appendices/dev-env/intellij/isis-settings-live-templates.jar">isis-settings-live-templates.jar</a></strong>.
+Download and import (as for the previous settings JAR files).</p>
+</div>
+</div>
+<div class="sect4">
+<h5 id="_dg_ide_intellij_coding-standards">Coding Standards</h5>
+<div class="paragraph">
+<p>Next, we suggest you recommend you import settings for standard ASF/Apache Isis coding conventions.  This file is also
+provided as a settings file, namely <strong><a href="resources/appendices/dev-env/intellij/isis-settings-code-style.jar">isis-settings-code-style.jar</a></strong>.  Download and import (as for the above settings JAR files).</p>
 </div>
 </div>
 <div class="sect4">
@@ -800,18 +827,18 @@ at the time of writing Apache Isis supports only Java 7; Java 8 is scheduled for
 </div>
 <div class="imageblock">
 <div class="content">
-<img src="images/appendices/dev-env/intellij-idea/040-other-settings-compiler/010-build-automatically.png" alt="010 build automatically" width="600px">
+<img src="images/appendices/dev-env/intellij-idea/040-other-settings-compiler/010-build-automatically.png" alt="010 build automatically" width="700px">
 </div>
-<div class="title">Figure 16. IntelliJ Compiler Settings</div>
+<div class="title">Figure 17. IntelliJ Compiler Settings</div>
 </div>
 <div class="paragraph">
 <p>On the <strong>Annotation Processors</strong> page, enable and adjust for the 'default' setting:</p>
 </div>
 <div class="imageblock">
 <div class="content">
-<img src="images/appendices/dev-env/intellij-idea/040-other-settings-compiler/020-annotation-processor.png" alt="020 annotation processor" width="600px">
+<img src="images/appendices/dev-env/intellij-idea/040-other-settings-compiler/020-annotation-processor.png" alt="020 annotation processor" width="700px">
 </div>
-<div class="title">Figure 17. IntelliJ Annotation Processor Settings</div>
+<div class="title">Figure 18. IntelliJ Annotation Processor Settings</div>
 </div>
 <div class="paragraph">
 <p>This setting enables the generation of the <code>Q*</code> classes for DataNucleus type-safe queries, as well as being required
@@ -842,18 +869,18 @@ for frameworks such as <a href="#_cg_ide_project-lombok">Project Lombok</a>.</p>
 </div>
 <div class="imageblock">
 <div class="content">
-<img src="images/appendices/dev-env/intellij-idea/042-other-settings-maven/010-maven-installation.png" alt="010 maven installation" width="600px">
+<img src="images/appendices/dev-env/intellij-idea/042-other-settings-maven/010-maven-installation.png" alt="010 maven installation" width="700px">
 </div>
-<div class="title">Figure 18. IntelliJ Maven Settings - Installation</div>
+<div class="title">Figure 19. IntelliJ Maven Settings - Installation</div>
 </div>
 <div class="paragraph">
 <p>Still on the Maven settings page, configure as follows:</p>
 </div>
 <div class="imageblock">
 <div class="content">
-<img src="images/appendices/dev-env/intellij-idea/042-other-settings-maven/020-maven-configuration.png" alt="020 maven configuration" width="600px">
+<img src="images/appendices/dev-env/intellij-idea/042-other-settings-maven/020-maven-configuration.png" alt="020 maven configuration" width="700px">
 </div>
-<div class="title">Figure 19. IntelliJ Maven Settings - Configuration</div>
+<div class="title">Figure 20. IntelliJ Maven Settings - Configuration</div>
 </div>
 </div>
 <div class="sect4">
@@ -866,9 +893,9 @@ for frameworks such as <a href="#_cg_ide_project-lombok">Project Lombok</a>.</p>
 </div>
 <div class="imageblock">
 <div class="content">
-<img src="images/appendices/dev-env/intellij-idea/044-other-settings-misc/010-auto-import.png" alt="010 auto import" width="600px">
+<img src="images/appendices/dev-env/intellij-idea/044-other-settings-misc/010-auto-import.png" alt="010 auto import" width="700px">
 </div>
-<div class="title">Figure 20. IntelliJ Maven Settings - Auto Import</div>
+<div class="title">Figure 21. IntelliJ Maven Settings - Auto Import</div>
 </div>
 </div>
 </div>
@@ -884,7 +911,7 @@ for frameworks such as <a href="#_cg_ide_project-lombok">Project Lombok</a>.</p>
 <div class="content">
 <img src="images/appendices/dev-env/intellij-idea/100-maven-module-mgmt/010-maven-modules-view.png" alt="010 maven modules view" width="730px">
 </div>
-<div class="title">Figure 21. IntelliJ Maven Module Management - Importing Maven modules</div>
+<div class="title">Figure 22. IntelliJ Maven Module Management - Importing Maven modules</div>
 </div>
 <div class="paragraph">
 <p>We can then import another module (from some other directory).  For example, here we are importing the Isis Addons' todoapp example:</p>
@@ -893,7 +920,7 @@ for frameworks such as <a href="#_cg_ide_project-lombok">Project Lombok</a>.</p>
 <div class="content">
 <img src="images/appendices/dev-env/intellij-idea/100-maven-module-mgmt/020-adding-another-module.png" alt="020 adding another module" width="400px">
 </div>
-<div class="title">Figure 22. IntelliJ Maven Module Management - Importing another Module</div>
+<div class="title">Figure 23. IntelliJ Maven Module Management - Importing another Module</div>
 </div>
 <div class="paragraph">
 <p>You should then see the new Maven module loaded in the <em>Projects</em> window and also the <em>Maven Projects</em> window:</p>
@@ -902,7 +929,7 @@ for frameworks such as <a href="#_cg_ide_project-lombok">Project Lombok</a>.</p>
 <div class="content">
 <img src="images/appendices/dev-env/intellij-idea/100-maven-module-mgmt/030-other-module-added.png" alt="030 other module added" width="730px">
 </div>
-<div class="title">Figure 23. IntelliJ Maven Module Management -</div>
+<div class="title">Figure 24. IntelliJ Maven Module Management -</div>
 </div>
 <div class="paragraph">
 <p>If any dependencies are already loaded in the project, then IntelliJ will automatically update the CLASSPATH to resolve to locally held modules (rather from <code>.m2/repository</code> folder).  So, for example (assuming that the <code>&lt;version&gt;</code> is correct, of course), the Isis todoapp will have local dependencies on the Apache Isis core.</p>
@@ -917,7 +944,7 @@ for frameworks such as <a href="#_cg_ide_project-lombok">Project Lombok</a>.</p>
 <div class="content">
 <img src="images/appendices/dev-env/intellij-idea/100-maven-module-mgmt/040-ignoring-modules.png" alt="040 ignoring modules" width="730px">
 </div>
-<div class="title">Figure 24. IntelliJ Maven Module Management - Ignoring Modules</div>
+<div class="title">Figure 25. IntelliJ Maven Module Management - Ignoring Modules</div>
 </div>
 <div class="paragraph">
 <p>Confirm that it&#8217;s ok to ignore these modules:</p>
@@ -926,7 +953,7 @@ for frameworks such as <a href="#_cg_ide_project-lombok">Project Lombok</a>.</p>
 <div class="content">
 <img src="images/appendices/dev-env/intellij-idea/100-maven-module-mgmt/050-ignoring-modules-2.png" alt="050 ignoring modules 2" width="300px">
 </div>
-<div class="title">Figure 25. IntelliJ Maven Module Management - Ignoring Modules (ctd)</div>
+<div class="title">Figure 26. IntelliJ Maven Module Management - Ignoring Modules (ctd)</div>
 </div>
 <div class="paragraph">
 <p>All being well you should see that the <em>Projects</em> window now only contains the code you are working on.  Its classpath dependencies will be adjusted (eg to resolve to Apache Isis core from <code>.m2/repository</code>):</p>
@@ -935,7 +962,7 @@ for frameworks such as <a href="#_cg_ide_project-lombok">Project Lombok</a>.</p>
 <div class="content">
 <img src="images/appendices/dev-env/intellij-idea/100-maven-module-mgmt/060-ignored-modules.png" alt="060 ignored modules" width="730px">
 </div>
-<div class="title">Figure 26. IntelliJ Maven Module Management - Updated Projects Window</div>
+<div class="title">Figure 27. IntelliJ Maven Module Management - Updated Projects Window</div>
 </div>
 </div>
 <div class="sect3">
@@ -955,7 +982,7 @@ for frameworks such as <a href="#_cg_ide_project-lombok">Project Lombok</a>.</p>
 <div class="content">
 <img src="images/appendices/dev-env/intellij-idea/110-running-the-app/010-run-configuration.png" alt="010 run configuration" width="600px">
 </div>
-<div class="title">Figure 27. IntelliJ Running the App - Run Configuration</div>
+<div class="title">Figure 28. IntelliJ Running the App - Run Configuration</div>
 </div>
 <div class="paragraph">
 <p>We specify the <code>Main class</code> to be <code>org.apache.isis.WebServer</code>; this is a wrapper around Jetty.  It&#8217;s possible to pass program arguments to this (eg to automatically install fixtures), but for now leave this blank.</p>
@@ -970,7 +997,7 @@ for frameworks such as <a href="#_cg_ide_project-lombok">Project Lombok</a>.</p>
 <div class="content">
 <img src="images/appendices/dev-env/intellij-idea/110-running-the-app/020-datanucleus-enhancer-goal.png" alt="020 datanucleus enhancer goal" width="400px">
 </div>
-<div class="title">Figure 28. IntelliJ Running the App - Datanucleus Enhancer Goal</div>
+<div class="title">Figure 29. IntelliJ Running the App - Datanucleus Enhancer Goal</div>
 </div>
 <div class="paragraph">
 <p>The <code>-o</code> flag in the goal means run off-line; this will run faster.</p>
@@ -1000,7 +1027,7 @@ if you forget to set up the enhancer goal, or don&#8217;t run it on the correct
 <div class="content">
 <img src="images/appendices/dev-env/intellij-idea/110-running-the-app/030-running-unit-tests.png" alt="030 running unit tests" width="600px">
 </div>
-<div class="title">Figure 29. IntelliJ Running the App - Unit Tests Run Configuration</div>
+<div class="title">Figure 30. IntelliJ Running the App - Unit Tests Run Configuration</div>
 </div>
 <div class="paragraph">
 <p>As a side-effect, this will create a run configuration, very similar to the one we manually created for the main app:</p>
@@ -1009,7 +1036,7 @@ if you forget to set up the enhancer goal, or don&#8217;t run it on the correct
 <div class="content">
 <img src="images/appendices/dev-env/intellij-idea/110-running-the-app/040-running-unit-tests-run-configuration.png" alt="040 running unit tests run configuration" width="600px">
 </div>
-<div class="title">Figure 30. IntelliJ Running the App - Unit Tests Run Configuration</div>
+<div class="title">Figure 31. IntelliJ Running the App - Unit Tests Run Configuration</div>
 </div>
 <div class="paragraph">
 <p>Thereafter, you should run units by selecting this configuration (if you use the right click approach you&#8217;ll end up with lots of run configurations, all similar).</p>
@@ -1027,7 +1054,7 @@ if you forget to set up the enhancer goal, or don&#8217;t run it on the correct
 <div class="content">
 <img src="images/appendices/dev-env/intellij-idea/110-running-the-app/050-running-integration-tests-run-configuration.png" alt="050 running integration tests run configuration" width="600px">
 </div>
-<div class="title">Figure 31. IntelliJ Running the App - Integration Tests Run Configuration</div>
+<div class="title">Figure 32. IntelliJ Running the App - Integration Tests Run Configuration</div>
 </div>
 </div>
 </div>
@@ -1262,7 +1289,7 @@ if you forget to set up the enhancer goal, or don&#8217;t run it on the correct
 <div class="content">
 <img src="images/appendices/dev-env/intellij-idea/050-some-plugins/020-some-plugins-confirmation.png" alt="020 some plugins confirmation" width="600px">
 </div>
-<div class="title">Figure 32. IntelliJ Plugins</div>
+<div class="title">Figure 33. IntelliJ Plugins</div>
 </div>
 <div class="sect5">
 <h6 id="_maven_helper_plugin">Maven Helper Plugin</h6>
@@ -1480,20 +1507,42 @@ non-commercial free license (though note this comes with some usage conditions).
 </ul>
 </div>
 <div class="sect3">
-<h4 id="_screencast">2.2.1. Screencast</h4>
+<h4 id="_dg_ide_eclipse_screencast">2.2.1. Screencast</h4>
 <div class="paragraph">
 <p>This <a href="https://www.youtube.com/watch?v=RgcYfjQ8yJA">screencast</a> shows how to import an Apache Isis maven-based
 application into Eclipse and configure to use with the JDO Objectstore.</p>
 </div>
 </div>
 <div class="sect3">
-<h4 id="_importing_the_project">2.2.2. Importing the Project</h4>
+<h4 id="_dg_ide_eclipse_editor-templates">2.2.2. Editor Templates</h4>
+<div class="paragraph">
+<p>We provide a set of editor templates.  These are used to add new methods to existing classes.  (These are equivalent to the <a href="#_dg_ide_intellij_live-templates">IntelliJ live templates</a>):</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p><code>is</code> (Apache Isis domain objects).  <a href="../resources/templates/isis-templates.xml">Download</a></p>
+</li>
+<li>
+<p><code>ju</code> (for JUnit tests) <a href="../resources/templates/junit4-templates.xml">Download</a></p>
+</li>
+<li>
+<p><code>jm</code> (for JMock mocks or libraries) <a href="../resources/templates/jmock2-templates.xml">Download</a></p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>To install, download each XML file, then go to <code>Windows &gt; Preferences &gt; Java &gt; Editor &gt; Templates</code> and choose <code>Import</code>.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_dg_ide_eclipse_importing-the-project">2.2.3. Importing the Project</h4>
 <div class="paragraph">
 <p>Use File &gt; Import, then Maven &gt; Existing Maven Projects.</p>
 </div>
 </div>
 <div class="sect3">
-<h4 id="_add_datanucleus_support">2.2.3. Add DataNucleus support</h4>
+<h4 id="_add_datanucleus_support">2.2.4. Add DataNucleus support</h4>
 <div class="admonitionblock tip">
 <table>
 <tr>
@@ -1601,7 +1650,7 @@ application into Eclipse and configure to use with the JDO Objectstore.</p>
 </div>
 </div>
 <div class="sect3">
-<h4 id="_running_the_app_2">2.2.4. Running the App</h4>
+<h4 id="_running_the_app_2">2.2.5. Running the App</h4>
 <div class="paragraph">
 <p>The simpleapp archetype automatically provides a <code>.launch</code> configurations in the <code>webapp</code> module. You can therefore very simply run the application by right-clicking on one of these files, and choosing "Run As…" or "Debug As…".</p>
 </div>
@@ -1621,7 +1670,7 @@ application into Eclipse and configure to use with the JDO Objectstore.</p>
 </div>
 </div>
 <div class="sect3">
-<h4 id="_other_domain_projects">2.2.5. Other domain projects.</h4>
+<h4 id="_other_domain_projects">2.2.6. Other domain projects.</h4>
 <div class="paragraph">
 <p>There is nothing to prevent you having multiple domain projects. You might want to do such that each domain project corresponds to a <a href="http://www.methodsandtools.com/archive/archive.php?id=97p2">DDD module</a>, thus guaranteeing that there are no cyclic dependencies between your modules.</p>
 </div>
@@ -1633,7 +1682,7 @@ application into Eclipse and configure to use with the JDO Objectstore.</p>
 </div>
 </div>
 <div class="sect3">
-<h4 id="_advanced">2.2.6. Advanced</h4>
+<h4 id="_advanced">2.2.7. Advanced</h4>
 <div class="paragraph">
 <p>In this section are a couple of options that will reduce the length of the change code/build/deploy/review feedback loop.</p>
 </div>
@@ -1661,176 +1710,15 @@ actions will work, but adding new properties or collections is much less likely
 </div>
 </div>
 <div class="sect1">
-<h2 id="_dg_ide-templates">3. Code and File Templates</h2>
+<h2 id="_dg_building-isis">3. Building Apache Isis</h2>
 <div class="sectionbody">
-<div class="paragraph">
-<p>We provide parameterized templates, for both IntelliJ and Eclipse, to help you write your domain applications.</p>
-</div>
-<div class="paragraph">
-<p>On IntelliJ we provide both file templates (<code>File &gt; Settings &gt; Editor &gt; File and Code Templates</code>) and also live templates (<code>File &gt; Settings &gt; Editor &gt; Live Templates</code>).  The former are used to create new classes or files (eg a new domain entity), while the latter are intended to modify an existing file (eg create a new property or add a <code>toString()</code> method etc).</p>
-</div>
-<div class="paragraph">
-<p>On Eclipse we provide only the latter sort of template (Windows &gt; Preferences &gt; Java &gt; Editor &gt; Templates).</p>
-</div>
-<div class="paragraph">
-<p>There are templates for writing Apache Isis domain objects, for writing unit tests (JUnit and JMock), and also for writing Asciidoc documentation (see also the <a href="#_dg_asciidoc-templates">appendix</a>).</p>
-</div>
 <div class="sect2">
-<h3 id="_download">3.1. Download</h3>
-<div class="paragraph">
-<p>The following table lists the templates available to download:</p>
-</div>
-<table class="tableblock frame-all grid-all spread">
-<colgroup>
-<col style="width: 22.2222%;">
-<col style="width: 22.2222%;">
-<col style="width: 11.1111%;">
-<col style="width: 22.2222%;">
-<col style="width: 22.2223%;">
-</colgroup>
-<thead>
-<tr>
-<th class="tableblock halign-left valign-top">Purpose</th>
-<th class="tableblock halign-left valign-top">IntelliJ<br>
-file template</th>
-<th class="tableblock halign-left valign-top">Prefix</th>
-<th class="tableblock halign-left valign-top">IntelliJ<br>
-live template</th>
-<th class="tableblock halign-left valign-top">Eclipse<br>
-template</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p>Domain Objects</p>
-</div></div></td>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p><a href="../resources/templates/intellij-settings-file-templates-for-apache-isis.jar">Download</a></p>
-</div></div></td>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p><code>is</code></p>
-</div></div></td>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p><a href="../resources/templates/isis-templates-idea.xml">Download</a></p>
-</div></div></td>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p><a href="../resources/templates/isis-templates.xml">Download</a></p>
-</div></div></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p>JUnit tests</p>
-</div></div></td>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p>(none)</p>
-</div></div></td>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p><code>ju</code></p>
-</div></div></td>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p><a href="../resources/templates/junit4-templates-idea.xml">Download</a></p>
-</div></div></td>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p><a href="../resources/templates/junit4-templates.xml">Download</a></p>
-</div></div></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p>JMock tests</p>
-</div></div></td>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p>(none)</p>
-</div></div></td>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p><code>jm</code></p>
-</div></div></td>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p><a href="../resources/templates/jmock2-templates-idea.xml">Download</a></p>
-</div></div></td>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p><a href="../resources/templates/jmock2-templates.xml">Download</a></p>
-</div></div></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p>Asciidoc</p>
-</div></div></td>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p>(none)</p>
-</div></div></td>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p><code>ad</code></p>
-</div></div></td>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p><a href="../resources/templates/isis-asciidoc-templates-idea.xml">Download</a></p>
-</div></div></td>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p>(none)</p>
-</div></div></td>
-</tr>
-</tbody>
-</table>
-<div class="paragraph">
-<p>The most commonly used domain objects (live) templates are also listed on the <a href="../cheat-sheet.html">Apache Isis cheat sheet</a>.</p>
-</div>
-</div>
-<div class="sect2">
-<h3 id="_installation">3.2. Installation</h3>
-<div class="sect3">
-<h4 id="_intellij">3.2.1. IntelliJ</h4>
-<div class="paragraph">
-<p>To install in the live templates IntelliJ (Community edition 15), copy to the relevant <code>config/templates</code> directory, eg:</p>
-</div>
-<div class="ulist">
-<ul>
-<li>
-<p>Windows <code>&lt;User home&gt;\.IdeaIC15\config\templates</code></p>
-</li>
-<li>
-<p>Linux <code>~/.IdeaIC15/config/templates</code></p>
-</li>
-<li>
-<p>Mac OS <code>~/Library/Preferences/IdeaIC15/templates</code></p>
-</li>
-</ul>
-</div>
-<div class="paragraph">
-<p>If using the Ultimate edition, the directory is <code>.IntelliJIdea15</code> rather than <code>IdeaIC15</code>.</p>
-</div>
-<div class="paragraph">
-<p>To install the file templates, use <code>File &gt; Import Settings</code>.</p>
-</div>
-</div>
-<div class="sect3">
-<h4 id="_eclipse">3.2.2. Eclipse</h4>
-<div class="paragraph">
-<p>To install in Eclipse, go to <code>Windows &gt; Preferences &gt; Java &gt; Editor &gt; Templates</code> and choose <code>Import</code>.</p>
-</div>
-</div>
-</div>
-<div class="sect2">
-<h3 id="_usage">3.3. Usage</h3>
-<div class="paragraph">
-<p>For the live templates, enter the prefix in the editor (<code>is</code>, <code>ju</code>, <code>jm</code>) and the IDE will list all available templates
-in that category.</p>
-</div>
-<div class="paragraph">
-<p>For the file templates (IntelliJ only), these are available from <code>File &gt; New</code>.</p>
-</div>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="_dg_building-isis">4. Building Apache Isis</h2>
-<div class="sectionbody">
-<div class="sect2">
-<h3 id="_dg_building-isis_git">4.1. Git</h3>
+<h3 id="_dg_building-isis_git">3.1. Git</h3>
 <div class="paragraph">
 <p>The Apache Isis source code lives in a git repo.</p>
 </div>
 <div class="sect3">
-<h4 id="_dg_building-isis_git_installation">4.1.1. Installation</h4>
+<h4 id="_dg_building-isis_git_installation">3.1.1. Installation</h4>
 <div class="paragraph">
 <p>The easiest place to get hold of command-line git is probably the <a href="http://git-scm.com/downloads">github download page</a>.</p>
 </div>
@@ -1946,7 +1834,7 @@ git config user.email &lt;i&gt;myusername@apache.org&lt;/i&gt;</code></pre>
 </div>
 </div>
 <div class="sect3">
-<h4 id="_dg_building-isis_git_getting-help">4.1.2. Getting help</h4>
+<h4 id="_dg_building-isis_git_getting-help">3.1.2. Getting help</h4>
 <div class="paragraph">
 <p>Three commands of git that in particular worth knowing:</p>
 </div>
@@ -1994,7 +1882,7 @@ git config user.email &lt;i&gt;myusername@apache.org&lt;/i&gt;</code></pre>
 </div>
 </div>
 <div class="sect2">
-<h3 id="_dg_building-isis_installing-java">4.2. Installing Java</h3>
+<h3 id="_dg_building-isis_installing-java">3.2. Installing Java</h3>
 <div class="paragraph">
 <p>Apache Isis is compatible with Java 7 and Java 8.  For every-day use, the framework is usually compiled against Java 8.</p>
 </div>
@@ -2021,7 +1909,7 @@ be sure not to use any Java 8 APIs.</p>
 </table>
 </div>
 <div class="sect3">
-<h4 id="_dg_building-isis_configure-maven-toolchains-plugin">4.2.1. Configure Maven toolchains plugin</h4>
+<h4 id="_dg_building-isis_configure-maven-toolchains-plugin">3.2.1. Configure Maven toolchains plugin</h4>
 <div class="paragraph">
 <p>If you are a committer that will be performing releases of Apache Isis, then you <em>must</em> configure the
 <a href="http://maven.apache.org/plugins/maven-toolchains-plugin/">toolchains</a> plugin so that releases can be built using
@@ -2078,7 +1966,7 @@ adjusting paths for your platform:</p>
 </div>
 </div>
 <div class="sect2">
-<h3 id="_dg_building-isis_installing-maven">4.3. Installing Maven</h3>
+<h3 id="_dg_building-isis_installing-maven">3.3. Installing Maven</h3>
 <div class="paragraph">
 <p>Install Maven 3.0.x, downloadable <a href="http://maven.apache.org/download.html">here</a>.</p>
 </div>
@@ -2106,7 +1994,7 @@ adjusting paths for your platform:</p>
 </div>
 </div>
 <div class="sect2">
-<h3 id="_dg_building-isis_building-all-of-apache-isis">4.4. Building all of Apache Isis</h3>
+<h3 id="_dg_building-isis_building-all-of-apache-isis">3.4. Building all of Apache Isis</h3>
 <div class="paragraph">
 <p>To build the source code from the command line, simply go to the root directory and type:</p>
 </div>
@@ -2135,7 +2023,7 @@ mvn clean install -o -T1C</code></pre>
 </div>
 </div>
 <div class="sect2">
-<h3 id="_dg_building-isis_checking-for-vulnerabilities">4.5. Checking for Vulnerabilities</h3>
+<h3 id="_dg_building-isis_checking-for-vulnerabilities">3.5. Checking for Vulnerabilities</h3>
 <div class="paragraph">
 <p>Apache Isis configures the <a href="https://www.owasp.org/index.php/Main_Page">OWASP</a> <a href="https://www.owasp.org/index.php/OWASP_Dependency_Check">dependency check</a> <a href="http://jeremylong.github.io/DependencyCheck/dependency-check-maven/index.html">Maven plugin</a> to determine whether the framework uses libraries that are known to have security vulnerabilities.</p>
 </div>
@@ -2169,7 +2057,7 @@ mvn clean install -o -T1C</code></pre>
 </div>
 </div>
 <div class="sect2">
-<h3 id="_dg_building-isis_checking-for-use-of-internal-jdk-apis">4.6. Checking for use of internal JDK APIs</h3>
+<h3 id="_dg_building-isis_checking-for-use-of-internal-jdk-apis">3.6. Checking for use of internal JDK APIs</h3>
 <div class="paragraph">
 <p>Apache Isis configures the <a href="https://maven.apache.org/plugins-archives/maven-jdeps-plugin-3.0.0/">jdeps maven plugin</a> to check for any usage of internal JDK APIs.  This is in preparation for Java 9 module system (Jigsaw) which will prevent such usage of APIs.</p>
 </div>
@@ -2202,7 +2090,7 @@ mvn clean install -o -T1C</code></pre>
 </div>
 </div>
 <div class="sect1">
-<h2 id="_dg_asciidoc">5. AsciiDoc Documentation</h2>
+<h2 id="_dg_asciidoc">4. AsciiDoc Documentation</h2>
 <div class="sectionbody">
 <div class="paragraph">
 <p>Apache Isis' documentation (meaning the website and the users' guide, the reference guide and this contributors' guide) is written using <a href="http://www.methods.co.nz/asciidoc/">Asciidoc</a>, specifically the <a href="asciidoctor.org/">Asciidoctor</a> implementation.</p>
@@ -2217,13 +2105,13 @@ mvn clean install -o -T1C</code></pre>
 <p>And to help write the Asciidoc text itself, we provide some <a href="#_dg__cg_ide-templates">templates</a>.</p>
 </div>
 <div class="sect2">
-<h3 id="_where_to_find_the_docs">5.1. Where to find the Docs</h3>
+<h3 id="_where_to_find_the_docs">4.1. Where to find the Docs</h3>
 <div class="paragraph">
 <p>The (Asciidoc) source code can be found at <code>adocs/documentation</code> (relative to root).  Online you&#8217;ll find it <a href="https://github.com/apache/isis/tree/master/adocs/documentation">cloned to github here</a>.</p>
 </div>
 </div>
 <div class="sect2">
-<h3 id="_naming_conventions">5.2. Naming Conventions</h3>
+<h3 id="_naming_conventions">4.2. Naming Conventions</h3>
 <div class="paragraph">
 <p>For documents with inclusions, use '_' to separate out the logical hierarchy:</p>
 </div>
@@ -2262,16 +2150,16 @@ mvn clean install -o -T1C</code></pre>
 </div>
 </div>
 <div class="sect2">
-<h3 id="_writing_the_docs">5.3. Writing the docs</h3>
+<h3 id="_writing_the_docs">4.3. Writing the docs</h3>
 <div class="paragraph">
-<p>We highly recommend that you install the (IntelliJ) live templates for Asciidoctor, as described in <a href="#_dg_ide-templates">IDE templates</a>.  These provide a large number of helper templates.</p>
+<p>We highly recommend that you install the (IntelliJ) live templates for Asciidoctor, as described in <a href="#_dg_ide_intellij_live-templates">IDE templates</a>.  These provide a large number of helper templates.</p>
 </div>
 <div class="paragraph">
 <p>An <a href="#_dg_appendix_asciidoc-templates">appendix</a> lists all the templates available, demonstrating their intended usage and output.</p>
 </div>
 </div>
 <div class="sect2">
-<h3 id="_build_and_review_using_maven">5.4. Build and Review (using Maven)</h3>
+<h3 id="_build_and_review_using_maven">4.4. Build and Review (using Maven)</h3>
 <div class="paragraph">
 <p>To (re)build the documentation locally prior to release, change into the <code>adocs/documentation</code> directory and use:</p>
 </div>
@@ -2288,12 +2176,12 @@ mvn clean install -o -T1C</code></pre>
 </div>
 </div>
 <div class="sect2">
-<h3 id="_instant_rebuild_using_ruby">5.5. Instant Rebuild (using Ruby)</h3>
+<h3 id="_instant_rebuild_using_ruby">4.5. Instant Rebuild (using Ruby)</h3>
 <div class="paragraph">
 <p>The ruby script, <code>monitor.rb</code> emulates the <code>mvn compile</code> command, regenerating any changed Asciidoctor files to the relevant <code>target/site</code> directory.  Moreover if any included files are changed then it rebuilds the parent (per the above naming convention).</p>
 </div>
 <div class="sect3">
-<h4 id="_one_time_setup">5.5.1. One-time setup</h4>
+<h4 id="_one_time_setup">4.5.1. One-time setup</h4>
 <div class="paragraph">
 <p>To setup:</p>
 </div>
@@ -2332,7 +2220,7 @@ bundle install</code></pre>
 </div>
 </div>
 <div class="sect3">
-<h4 id="_instant_rebuild">5.5.2. Instant Rebuild</h4>
+<h4 id="_instant_rebuild">4.5.2. Instant Rebuild</h4>
 <div class="paragraph">
 <p>To run, we typically just use:</p>
 </div>
@@ -2369,12 +2257,12 @@ bundle install</code></pre>
 </div>
 </div>
 <div class="sect2">
-<h3 id="_publish_procedure">5.6. Publish procedure</h3>
+<h3 id="_publish_procedure">4.6. Publish procedure</h3>
 <div class="paragraph">
 <p>Only Apache Isis committers can publish to <a href="http://isis.apache.org">isis.apache.org</a>.  We&#8217;ve decided to include these procedures here here (rather than put them in the <a href="cgcom.html">Committers' Guide</a>), just to keep things together.</p>
 </div>
 <div class="sect3">
-<h4 id="_one_time_setup_2">5.6.1. One-time setup</h4>
+<h4 id="_one_time_setup_2">4.6.1. One-time setup</h4>
 <div class="paragraph">
 <p>The generated site is published by copying into the <code>content/</code> directory of the <a href="https://git-wip-us.apache.org/repos/asf/isis-site.git">isis-site git repo</a>. You therefore need to check this out this repo.</p>
 </div>
@@ -2406,7 +2294,7 @@ bundle install</code></pre>
 </div>
 </div>
 <div class="sect3">
-<h4 id="_publishing_full_build">5.6.2. Publishing (full build)</h4>
+<h4 id="_publishing_full_build">4.6.2. Publishing (full build)</h4>
 <div class="paragraph">
 <p>Back in the <code>adocs/documentation</code> directory of the main <code>isis-git.repo</code>, to copy the generated documents to the <code>isis-site.git</code> repo, run:</p>
 </div>
@@ -2459,7 +2347,7 @@ bundle install</code></pre>
 </div>
 </div>
 <div class="sect3">
-<h4 id="_publishing_partial_build">5.6.3. Publishing (partial build)</h4>
+<h4 id="_publishing_partial_build">4.6.3. Publishing (partial build)</h4>
 <div class="paragraph">
 <p>If none of the guides have been changed, and if you have run the full rebuild recently, then you can skip the generation of PDFs using:</p>
 </div>
@@ -2476,7 +2364,7 @@ bundle install</code></pre>
 </div>
 </div>
 <div class="sect1">
-<h2 id="_dg_contributing">6. Contributing</h2>
+<h2 id="_dg_contributing">5. Contributing</h2>
 <div class="sectionbody">
 <div class="paragraph">
 <p>This page explains how you can contribute to Apache Isis. You&#8217;ll probably also want <a href="#_dg_ide">set up your IDE</a> and learn <a href="#_dg_building-isis">how to build Apache Isis</a>.</p>
@@ -2485,7 +2373,7 @@ bundle install</code></pre>
 <p>Thanks for considering to help out, your contributions are appreciated!</p>
 </div>
 <div class="sect2">
-<h3 id="_recommended_workflow_github">6.1. Recommended Workflow (github)</h3>
+<h3 id="_recommended_workflow_github">5.1. Recommended Workflow (github)</h3>
 <div class="paragraph">
 <p>Apache Isis' source code is hosted in an Apache git repo (<a href="https://git-wip-us.apache.org/repos/asf/isis.git">https</a>, <a href="http://git-wip-us.apache.org/repos/asf/isis.git">http</a>), with a clone on github (<a href="https://github.com/apache/isis.git">https</a>, or ssh: <code>git@github.com:apache/isis.git</code>.</p>
 </div>
@@ -2537,7 +2425,7 @@ bundle install</code></pre>
 </div>
 </div>
 <div class="sect2">
-<h3 id="_alternative_workflow_jira_patches">6.2. Alternative Workflow (JIRA patches)</h3>
+<h3 id="_alternative_workflow_jira_patches">5.2. Alternative Workflow (JIRA patches)</h3>
 <div class="paragraph">
 <p>As an alternative, you may decide to clone directly from <a href="https://github.com/apache/isis.git">github.com/apache/isis</a> rather than create your own fork:</p>
 </div>
@@ -2554,7 +2442,7 @@ bundle install</code></pre>
 </div>
 </div>
 <div class="sect2">
-<h3 id="_setting_up_your_fork_clone">6.3. Setting up your fork/clone</h3>
+<h3 id="_setting_up_your_fork_clone">5.3. Setting up your fork/clone</h3>
 <div class="paragraph">
 <p>If you choose to create your own fork then you&#8217;ll need an account on <a href="https://github.com">github.com</a>. You then fork simply by pressing the "Fork" button:</p>
 </div>
@@ -2603,7 +2491,7 @@ bundle install</code></pre>
 </div>
 </div>
 <div class="sect2">
-<h3 id="_commit_messages">6.4. Commit messages</h3>
+<h3 id="_commit_messages">5.4. Commit messages</h3>
 <div class="paragraph">
 <p>Although with git your commits are always performed on your local repo, those commit messages become public when the patch is applied by an Apache Isis committer. You should take time to write a meaningful commit message that helps explain what the patch refers to; if you don&#8217;t then there&#8217;s a chance that your patch may be rejected and not applied. No-one likes hard work to go to waste!</p>
 </div>
@@ -2630,7 +2518,7 @@ why this is a problem, and how the patch fixes the problem when applied.</code><
 </div>
 </div>
 <div class="sect2">
-<h3 id="_creating_the_patch_file">6.5. Creating the patch file</h3>
+<h3 id="_creating_the_patch_file">5.5. Creating the patch file</h3>
 <div class="paragraph">
 <p>If you are working without a github fork of Apache Isis, then you can create the patches from your own local git repository.</p>
 </div>
@@ -2647,12 +2535,12 @@ why this is a problem, and how the patch fixes the problem when applied.</code><
 </div>
 </div>
 <div class="sect2">
-<h3 id="_sample_contribution_workflow">6.6. Sample Contribution Workflow</h3>
+<h3 id="_sample_contribution_workflow">5.6. Sample Contribution Workflow</h3>
 <div class="paragraph">
 <p>Assuming you&#8217;re development environment is all setup, let&#8217;s walk through how you might make contribute a patch. In this example, suppose that you&#8217;ve decided to work on JIRA ticket #123, an enhancement to support Blob/Clob datatypes.</p>
 </div>
 <div class="sect3">
-<h4 id="_update_your_master_branch">6.6.1. Update your master branch</h4>
+<h4 id="_update_your_master_branch">5.6.1. Update your master branch</h4>
 <div class="paragraph">
 <p>The first thing to do is to make sure your local clone is up-to-date. We do this by retrieving new commits from upstream repo and then merging them as a fast-forward into your local branch.</p>
 </div>
@@ -2671,7 +2559,7 @@ git pull –ff-only
 </div>
 </div>
 <div class="sect3">
-<h4 id="_create_a_topic_branch">6.6.2. Create a topic branch</h4>
+<h4 id="_create_a_topic_branch">5.6.2. Create a topic branch</h4>
 <div class="paragraph">
 <p>We recommend you name topic branches by the JIRA ticket, ie &lt;tt&gt;ISIS-nnn-description&lt;/tt&gt;. So let&#8217;s create a new branch based off <code>master</code> and call it "ISIS-123-blobs"</p>
 </div>
@@ -2688,7 +2576,7 @@ git pull –ff-only
 </div>
 </div>
 <div class="sect3">
-<h4 id="_make_file_changes_and_commit">6.6.3. Make File Changes and Commit</h4>
+<h4 id="_make_file_changes_and_commit">5.6.3. Make File Changes and Commit</h4>
 <div class="paragraph">
 <p>Next, make changes to your files using the usual commands (see also our <a href="#_dg_git-cookbook">git cookbook</a> section):</p>
 </div>
@@ -2719,7 +2607,7 @@ git pull –ff-only
 </div>
 </div>
 <div class="sect3">
-<h4 id="_rebasing_with_code_master_code">6.6.4. Rebasing with <code>master</code></h4>
+<h4 id="_rebasing_with_code_master_code">5.6.4. Rebasing with <code>master</code></h4>
 <div class="paragraph">
 <p>Before you can share your change, you should rebase (in other words replay) your changes on top of the <code>master</code> branch.</p>
 </div>
@@ -2747,7 +2635,7 @@ git rebase master
 </div>
 </div>
 <div class="sect3">
-<h4 id="_raising_a_pull_request">6.6.5. Raising a pull request</h4>
+<h4 id="_raising_a_pull_request">5.6.5. Raising a pull request</h4>
 <div class="paragraph">
 <p>If you have your own fork, you can now simply push the changes you&#8217;ve made locally to your fork:</p>
 </div>
@@ -2779,7 +2667,7 @@ git rebase master
 </div>
 </div>
 <div class="sect2">
-<h3 id="_if_your_pull_request_is_accepted">6.7. If your pull request is accepted</h3>
+<h3 id="_if_your_pull_request_is_accepted">5.7. If your pull request is accepted</h3>
 <div class="paragraph">
 <p>To double check that your pull request is accepted, update your <code>master</code> branch from the <code>upstream</code> remote:</p>
 </div>
@@ -2793,7 +2681,7 @@ git rebase master
 <p>Finally, you might want to push the latest changes in master back up to your github fork. If so, use:</p>
 </div>
 <div class="sect3">
-<h4 id="_if_your_pull_request_is_rejected">6.7.1. If your pull request is rejected</h4>
+<h4 id="_if_your_pull_request_is_rejected">5.7.1. If your pull request is rejected</h4>
 <div class="paragraph">
 <p>If your pull request is rejected, then you&#8217;ll need to update your branch from the main repository and then address the rejection reason.</p>
 </div>
@@ -2816,7 +2704,7 @@ git rebase master
 </div>
 </div>
 <div class="sect1">
-<h2 id="_dg_git-cookbook">7. Appendix: Git Cookbook</h2>
+<h2 id="_dg_git-cookbook">6. Appendix: Git Cookbook</h2>
 <div class="sectionbody">
 <div class="paragraph">
 <p>This appendix describes the commands often used while working with git.  In addition to these basic commands, please make sure you have read:</p>
@@ -2835,7 +2723,7 @@ git rebase master
 </ul>
 </div>
 <div class="sect2">
-<h3 id="_modifying_existing_files">7.1. Modifying existing files</h3>
+<h3 id="_modifying_existing_files">6.1. Modifying existing files</h3>
 <div class="paragraph">
 <p>To modify existing files:</p>
 </div>
@@ -2861,7 +2749,7 @@ git commit -m &quot;ISIS-nnn: yada yada&quot;</code></pre>
 </div>
 </div>
 <div class="sect2">
-<h3 id="_adding_new_files">7.2. Adding new files</h3>
+<h3 id="_adding_new_files">6.2. Adding new files</h3>
 <div class="paragraph">
 <p>To add a new file:</p>
 </div>
@@ -2876,7 +2764,7 @@ git commit -m &quot;ISIS-nnn: yada yada&quot;</code></pre>
 </div>
 </div>
 <div class="sect2">
-<h3 id="_deleting_files">7.3. Deleting files</h3>
+<h3 id="_deleting_files">6.3. Deleting files</h3>
 <div class="paragraph">
 <p>To delete a file:</p>
 </div>
@@ -2888,7 +2776,7 @@ git commit -m &quot;ISIS-nnn: yada yada&quot;</code></pre>
 </div>
 </div>
 <div class="sect2">
-<h3 id="_renaming_or_moving_files">7.4. Renaming or moving files</h3>
+<h3 id="_renaming_or_moving_files">6.4. Renaming or moving files</h3>
 <div class="paragraph">
 <p>To rename or move a file:</p>
 </div>
@@ -2900,13 +2788,13 @@ git commit -m &quot;ISIS-nnn: yada yada&quot;</code></pre>
 </div>
 </div>
 <div class="sect2">
-<h3 id="_common_workflows">7.5. Common Workflows</h3>
+<h3 id="_common_workflows">6.5. Common Workflows</h3>
 <div class="paragraph">
 <p>The <a href="#_dg_contributing">contributing</a> page describes the workflow for non-committers.  The <a href="cgcom.html#_cgcom_policies_git-policy">Git policy</a> page describes a workflow for Apache Isis <strong>committers</strong>.</p>
 </div>
 </div>
 <div class="sect2">
-<h3 id="_backing_up_a_local_branch">7.6. Backing up a local branch</h3>
+<h3 id="_backing_up_a_local_branch">6.6. Backing up a local branch</h3>
 <div class="paragraph">
 <p>If committing to a local branch, the changes are still just that: local, and run risk of a disk failure or other disaster.</p>
 </div>
@@ -2945,7 +2833,7 @@ git commit -m &quot;ISIS-nnn: yada yada&quot;</code></pre>
 </div>
 </div>
 <div class="sect2">
-<h3 id="_quick_change_stashing_changes">7.7. Quick change: stashing changes</h3>
+<h3 id="_quick_change_stashing_changes">6.7. Quick change: stashing changes</h3>
 <div class="paragraph">
 <p>If you are working on something but are not ready to commit, then use:</p>
 </div>
@@ -2973,7 +2861,7 @@ git commit -m &quot;ISIS-nnn: yada yada&quot;</code></pre>
 </div>
 </div>
 <div class="sect2">
-<h3 id="_ignoring_files">7.8. Ignoring files</h3>
+<h3 id="_ignoring_files">6.8. Ignoring files</h3>
 <div class="paragraph">
 <p>Put file patterns into <code>.gitignore</code>.  There is one at the root of the git repo, but they can additionally appear in subdirectories (the results are cumulative).</p>
 </div>
@@ -2992,9 +2880,9 @@ git commit -m &quot;ISIS-nnn: yada yada&quot;</code></pre>
 </div>
 </div>
 <div class="sect2">
-<h3 id="_more_advanced_use_cases">7.9. More advanced use cases</h3>
+<h3 id="_more_advanced_use_cases">6.9. More advanced use cases</h3>
 <div class="sect3">
-<h4 id="_if_accidentally_push_to_remote">7.9.1. If accidentally push to remote</h4>
+<h4 id="_if_accidentally_push_to_remote">6.9.1. If accidentally push to remote</h4>
 <div class="paragraph">
 <p>Suppose you committed to <code>master</code>, and then pushed the change, and then decided that you didn&#8217;t intend to do that:</p>
 </div>
@@ -3044,7 +2932,7 @@ git commit -m &quot;ISIS-nnn: yada yada&quot;</code></pre>
 </div>
 </div>
 <div class="sect2">
-<h3 id="_if_you_ve_accidentally_worked_on_code_master_code_branch">7.10. If you&#8217;ve accidentally worked on <code>master</code> branch</h3>
+<h3 id="_if_you_ve_accidentally_worked_on_code_master_code_branch">6.10. If you&#8217;ve accidentally worked on <code>master</code> branch</h3>
 <div class="paragraph">
 <p>If at any time the <code>git pull</code> from your upstream fails, it most likely means that you must have made commits on the <code>master</code> branch.  You can use <code>gitk --all</code> to confirm; at some point in time both <code>master</code> and <code>origin\master</code> will have a common ancestor.</p>
 </div>
@@ -3078,7 +2966,7 @@ git reset --hard &lt;i&gt;shaId&lt;/i&gt;      # move master branch shaId of com
 </div>
 </div>
 <div class="sect2">
-<h3 id="_if_you_ve_forgotten_to_prefix_your_commits_but_not_pushed">7.11. If you&#8217;ve forgotten to prefix your commits (but not pushed)</h3>
+<h3 id="_if_you_ve_forgotten_to_prefix_your_commits_but_not_pushed">6.11. If you&#8217;ve forgotten to prefix your commits (but not pushed)</h3>
 <div class="paragraph">
 <p>One of our committers, Alexander Krasnukhin, has put together some git scripts to help his workflow.  Using one of these, <code>git prefix</code>, you can just commit with proper message without bothering about prefix and add prefix only in the end <strong>before</strong> the final push.</p>
 </div>
@@ -3097,16 +2985,16 @@ git reset --hard &lt;i&gt;shaId&lt;/i&gt;      # move master branch shaId of com
 </div>
 </div>
 <div class="sect1">
-<h2 id="_dg_asciidoc-templates">8. Appendix: Asciidoc Templates</h2>
+<h2 id="_dg_asciidoc-templates">7. Appendix: Asciidoc Templates</h2>
 <div class="sectionbody">
 <div class="paragraph">
-<p>This appendix lists the (IntelliJ) live templates available for <a href="#_dg_asciidoc">writing documentation</a> using Asciidoc.  Instructions for installing the templates can be found <a href="#_dg_ide-templates">here</a>.</p>
+<p>This appendix lists the (IntelliJ) live templates available for <a href="#_dg_asciidoc">writing documentation</a> using Asciidoc.  Instructions for installing the templates can be found <a href="#_dg_ide_intellij_live-templates">here</a>.</p>
 </div>
 <div class="paragraph">
 <p>In the examples below the text <code>xxx</code>, <code>yyy</code>, <code>zzz</code> are correspond to template variables (ie placeholders).</p>
 </div>
 <div class="sect2">
-<h3 id="_callouts">8.1. Callouts</h3>
+<h3 id="_callouts">7.1. Callouts</h3>
 <div class="paragraph">
 <p>The Asciidoctor terminology is an "admonition".</p>
 </div>
@@ -3212,7 +3100,7 @@ xxx<br>
 </table>
 </div>
 <div class="sect2">
-<h3 id="_todo_notes">8.2. TODO notes</h3>
+<h3 id="_todo_notes">7.2. TODO notes</h3>
 <div class="paragraph">
 <p>Add as a placeholder for documentation still to be written or which is work-in-progress.</p>
 </div>
@@ -3280,7 +3168,7 @@ WIP - cool new feature
 </table>
 </div>
 <div class="sect2">
-<h3 id="_xref_to_guides">8.3. Xref to Guides</h3>
+<h3 id="_xref_to_guides">7.3. Xref to Guides</h3>
 <div class="paragraph">
 <p>Cross-references (links) to the various guides</p>
 </div>
@@ -3537,7 +3425,7 @@ WIP - cool new feature
 </table>
 </div>
 <div class="sect2">
-<h3 id="_link_to_isis_addons">8.4. Link to Isis Addons</h3>
+<h3 id="_link_to_isis_addons">7.4. Link to Isis Addons</h3>
 <div class="paragraph">
 <p>Links to (non-ASF) <a href="http://isisaddons.org">Isis Addons</a></p>
 </div>
@@ -3646,7 +3534,7 @@ WIP - cool new feature
 </table>
 </div>
 <div class="sect2">
-<h3 id="_source_code">8.5. Source code</h3>
+<h3 id="_source_code">7.5. Source code</h3>
 <table class="tableblock frame-all grid-all spread">
 <colgroup>
 <col style="width: 14.2857%;">
@@ -3796,7 +3684,7 @@ xxx<br>
 </table>
 </div>
 <div class="sect2">
-<h3 id="_images">8.6. Images</h3>
+<h3 id="_images">7.6. Images</h3>
 <table class="tableblock frame-all grid-all spread">
 <colgroup>
 <col style="width: 14.2857%;">
@@ -3882,7 +3770,7 @@ xxx<br>
 </table>
 </div>
 <div class="sect2">
-<h3 id="_youtube_screencasts">8.7. YouTube (screencasts)</h3>
+<h3 id="_youtube_screencasts">7.7. YouTube (screencasts)</h3>
 <div class="paragraph">
 <p>Embedded youtube screencasts.  (Don&#8217;t use these in guides, as they cannot be rendered as PDF).</p>
 </div>
@@ -3944,7 +3832,7 @@ xxx<br>
 </table>
 </div>
 <div class="sect2">
-<h3 id="_tables">8.8. Tables</h3>
+<h3 id="_tables">7.8. Tables</h3>
 <table class="tableblock frame-all grid-all spread">
 <colgroup>
 <col style="width: 14.2857%;">
@@ -3970,7 +3858,7 @@ xxx<br>
 </table>
 </div>
 <div class="sect2">
-<h3 id="_misc">8.9. Misc.</h3>
+<h3 id="_misc">7.9. Misc.</h3>
 <table class="tableblock frame-all grid-all spread">
 <colgroup>
 <col style="width: 14.2857%;">
@@ -4088,7 +3976,7 @@ xxx<br>
 </div>
 </div>
 <div class="sect1">
-<h2 id="_dg_project-lombok">9. Appendix: Project Lombok</h2>
+<h2 id="_dg_project-lombok">8. Appendix: Project Lombok</h2>
 <div class="sectionbody">
 <div class="paragraph">
 <p><a href="https://projectlombok.org/">Project Lombok</a> is an open source project to reduce the amount of boilerplate in
@@ -4130,7 +4018,7 @@ within your IDE (eg so that its compiler "knows" that there is, actually, a gett
 Lombok plugin appropriate to that IDE.  See the <a href="https://projectlombok.org/download.html">Lombok download page</a> for more information.</p>
 </div>
 <div class="sect2">
-<h3 id="_future_thoughts">9.1. Future thoughts</h3>
+<h3 id="_future_thoughts">8.1. Future thoughts</h3>
 <div class="paragraph">
 <p>In the future we might extend/fork Lombok so that it understands Isis' own annotations (ie <a href="rgant.html#_rgant-Property"><code>@Property</code></a> and <a href="rgant.html#_rgant-Collection"><code>@Collection</code></a>)
 rather than Lombok&#8217;s own <code>@Getter</code> and `@Setter.</p>
@@ -4142,7 +4030,7 @@ rather than Lombok&#8217;s own <code>@Getter</code> and `@Setter.</p>
 </div>
 </div>
 <div class="sect1">
-<h2 id="_dg_agilej">10. Appendix: AgileJ</h2>
+<h2 id="_dg_agilej">9. Appendix: AgileJ</h2>
 <div class="sectionbody">
 <div class="admonitionblock note">
 <table>
@@ -4152,7 +4040,7 @@ rather than Lombok&#8217;s own <code>@Getter</code> and `@Setter.</p>
 </td>
 <td class="content">
 <div class="paragraph">
-<p>This material does not constitute an endorsement; AgileJ Structure Views is not affiliated to Apache Software Foundation in any way.</p>
+<p>This material does not constitute an endorsement; AgileJ Structure Views is not affiliated to Apache Software Foundation in any way.  AgileJ has however provided a complimentary copy of its software to Apache Isis committers.</p>
 </div>
 </td>
 </tr>
@@ -4234,7 +4122,9 @@ hide method lines</code></pre>
 <ul class="sectlevel4">
 <li><a href="#_download_and_install">Download and Install</a></li>
 <li><a href="#_new_project">New Project</a></li>
-<li><a href="#_import_settings">Import Settings</a></li>
+<li><a href="#_dg_ide_intellij_file-templates">File templates</a></li>
+<li><a href="#_dg_ide_intellij_live-templates">Live templates</a></li>
+<li><a href="#_dg_ide_intellij_coding-standards">Coding Standards</a></li>
 <li><a href="#_dg_ide_intellij_other-settings-compiler">Other Settings (Compiler)</a></li>
 <li><a href="#_dg_ide_intellij_other-settings-maven">Other Settings (Maven)</a></li>
 <li><a href="#_other_settings_misc">Other Settings (Misc)</a></li>
@@ -4271,18 +4161,19 @@ hide method lines</code></pre>
 </li>
 <li><a href="#_dg_ide_eclipse">2.2. Developing using Eclipse</a>
 <ul class="sectlevel3">
-<li><a href="#_screencast">2.2.1. Screencast</a></li>
-<li><a href="#_importing_the_project">2.2.2. Importing the Project</a></li>
-<li><a href="#_add_datanucleus_support">2.2.3. Add DataNucleus support</a>
+<li><a href="#_dg_ide_eclipse_screencast">2.2.1. Screencast</a></li>
+<li><a href="#_dg_ide_eclipse_editor-templates">2.2.2. Editor Templates</a></li>
+<li><a href="#_dg_ide_eclipse_importing-the-project">2.2.3. Importing the Project</a></li>
+<li><a href="#_add_datanucleus_support">2.2.4. Add DataNucleus support</a>
 <ul class="sectlevel4">
 <li><a href="#_update_the_classpath">Update the classpath</a></li>
 <li><a href="#_workaround_for_path_limits_the_dn_plugin_to_use_the_persistence_xml">Workaround for path limits (the DN plugin to use the persistence.xml)</a></li>
 <li><a href="#_workaround_if_the_enhancer_fails">Workaround: If the enhancer fails</a></li>
 </ul>
 </li>
-<li><a href="#_running_the_app_2">2.2.4. Running the App</a></li>
-<li><a href="#_other_domain_projects">2.2.5. Other domain projects.</a></li>
-<li><a href="#_advanced">2.2.6. Advanced</a>
+<li><a href="#_running_the_app_2">2.2.5. Running the App</a></li>
+<li><a href="#_other_domain_projects">2.2.6. Other domain projects.</a></li>
+<li><a href="#_advanced">2.2.7. Advanced</a>
 <ul class="sectlevel4">
 <li><a href="#_setting_up_dynamic_reloading">Setting up Dynamic Reloading</a></li>
 </ul>
@@ -4291,124 +4182,112 @@ hide method lines</code></pre>
 </li>
 </ul>
 </li>
-<li><a href="#_dg_ide-templates">3. Code and File Templates</a>
-<ul class="sectlevel2">
-<li><a href="#_download">3.1. Download</a></li>
-<li><a href="#_installation">3.2. Installation</a>
-<ul class="sectlevel3">
-<li><a href="#_intellij">3.2.1. IntelliJ</a></li>
-<li><a href="#_eclipse">3.2.2. Eclipse</a></li>
-</ul>
-</li>
-<li><a href="#_usage">3.3. Usage</a></li>
-</ul>
-</li>
-<li><a href="#_dg_building-isis">4. Building Apache Isis</a>
+<li><a href="#_dg_building-isis">3. Building Apache Isis</a>
 <ul class="sectlevel2">
-<li><a href="#_dg_building-isis_git">4.1. Git</a>
+<li><a href="#_dg_building-isis_git">3.1. Git</a>
 <ul class="sectlevel3">
-<li><a href="#_dg_building-isis_git_installation">4.1.1. Installation</a>
+<li><a href="#_dg_building-isis_git_installation">3.1.1. Installation</a>
 <ul class="sectlevel4">
 <li><a href="#_dg_building-isis_git_installation_cloning-the-apache-isis-repo">Cloning the Apache Isis repo</a></li>
 <li><a href="#_dg_building-isis_git_installation_configuring-git">Configuring Git</a></li>
 </ul>
 </li>
-<li><a href="#_dg_building-isis_git_getting-help">4.1.2. Getting help</a></li>
+<li><a href="#_dg_building-isis_git_getting-help">3.1.2. Getting help</a></li>
 </ul>
 </li>
-<li><a href="#_dg_building-isis_installing-java">4.2. Installing Java</a>
+<li><a href="#_dg_building-isis_installing-java">3.2. Installing Java</a>
 <ul class="sectlevel3">
-<li><a href="#_dg_building-isis_configure-maven-toolchains-plugin">4.2.1. Configure Maven toolchains plugin</a></li>
+<li><a href="#_dg_building-isis_configure-maven-toolchains-plugin">3.2.1. Configure Maven toolchains plugin</a></li>
 </ul>
 </li>
-<li><a href="#_dg_building-isis_installing-maven">4.3. Installing Maven</a></li>
-<li><a href="#_dg_building-isis_building-all-of-apache-isis">4.4. Building all of Apache Isis</a></li>
-<li><a href="#_dg_building-isis_checking-for-vulnerabilities">4.5. Checking for Vulnerabilities</a></li>
-<li><a href="#_dg_building-isis_checking-for-use-of-internal-jdk-apis">4.6. Checking for use of internal JDK APIs</a></li>
+<li><a href="#_dg_building-isis_installing-maven">3.3. Installing Maven</a></li>
+<li><a href="#_dg_building-isis_building-all-of-apache-isis">3.4. Building all of Apache Isis</a></li>
+<li><a href="#_dg_building-isis_checking-for-vulnerabilities">3.5. Checking for Vulnerabilities</a></li>
+<li><a href="#_dg_building-isis_checking-for-use-of-internal-jdk-apis">3.6. Checking for use of internal JDK APIs</a></li>
 </ul>
 </li>
-<li><a href="#_dg_asciidoc">5. AsciiDoc Documentation</a>
+<li><a href="#_dg_asciidoc">4. AsciiDoc Documentation</a>
 <ul class="sectlevel2">
-<li><a href="#_where_to_find_the_docs">5.1. Where to find the Docs</a></li>
-<li><a href="#_naming_conventions">5.2. Naming Conventions</a></li>
-<li><a href="#_writing_the_docs">5.3. Writing the docs</a></li>
-<li><a href="#_build_and_review_using_maven">5.4. Build and Review (using Maven)</a></li>
-<li><a href="#_instant_rebuild_using_ruby">5.5. Instant Rebuild (using Ruby)</a>
+<li><a href="#_where_to_find_the_docs">4.1. Where to find the Docs</a></li>
+<li><a href="#_naming_conventions">4.2. Naming Conventions</a></li>
+<li><a href="#_writing_the_docs">4.3. Writing the docs</a></li>
+<li><a href="#_build_and_review_using_maven">4.4. Build and Review (using Maven)</a></li>
+<li><a href="#_instant_rebuild_using_ruby">4.5. Instant Rebuild (using Ruby)</a>
 <ul class="sectlevel3">
-<li><a href="#_one_time_setup">5.5.1. One-time setup</a></li>
-<li><a href="#_instant_rebuild">5.5.2. Instant Rebuild</a></li>
+<li><a href="#_one_time_setup">4.5.1. One-time setup</a></li>
+<li><a href="#_instant_rebuild">4.5.2. Instant Rebuild</a></li>
 </ul>
 </li>
-<li><a href="#_publish_procedure">5.6. Publish procedure</a>
+<li><a href="#_publish_procedure">4.6. Publish procedure</a>
 <ul class="sectlevel3">
-<li><a href="#_one_time_setup_2">5.6.1. One-time setup</a></li>
-<li><a href="#_publishing_full_build">5.6.2. Publishing (full build)</a></li>
-<li><a href="#_publishing_partial_build">5.6.3. Publishing (partial build)</a></li>
+<li><a href="#_one_time_setup_2">4.6.1. One-time setup</a></li>
+<li><a href="#_publishing_full_build">4.6.2. Publishing (full build)</a></li>
+<li><a href="#_publishing_partial_build">4.6.3. Publishing (partial build)</a></li>
 </ul>
 </li>
 </ul>
 </li>
-<li><a href="#_dg_contributing">6. Contributing</a>
+<li><a href="#_dg_contributing">5. Contributing</a>
 <ul class="sectlevel2">
-<li><a href="#_recommended_workflow_github">6.1. Recommended Workflow (github)</a></li>
-<li><a href="#_alternative_workflow_jira_patches">6.2. Alternative Workflow (JIRA patches)</a></li>
-<li><a href="#_setting_up_your_fork_clone">6.3. Setting up your fork/clone</a></li>
-<li><a href="#_commit_messages">6.4. Commit messages</a></li>
-<li><a href="#_creating_the_patch_file">6.5. Creating the patch file</a></li>
-<li><a href="#_sample_contribution_workflow">6.6. Sample Contribution Workflow</a>
+<li><a href="#_recommended_workflow_github">5.1. Recommended Workflow (github)</a></li>
+<li><a href="#_alternative_workflow_jira_patches">5.2. Alternative Workflow (JIRA patches)</a></li>
+<li><a href="#_setting_up_your_fork_clone">5.3. Setting up your fork/clone</a></li>
+<li><a href="#_commit_messages">5.4. Commit messages</a></li>
+<li><a href="#_creating_the_patch_file">5.5. Creating the patch file</a></li>
+<li><a href="#_sample_contribution_workflow">5.6. Sample Contribution Workflow</a>
 <ul class="sectlevel3">
-<li><a href="#_update_your_master_branch">6.6.1. Update your master branch</a></li>
-<li><a href="#_create_a_topic_branch">6.6.2. Create a topic branch</a></li>
-<li><a href="#_make_file_changes_and_commit">6.6.3. Make File Changes and Commit</a></li>
-<li><a href="#_rebasing_with_code_master_code">6.6.4. Rebasing with <code>master</code></a></li>
-<li><a href="#_raising_a_pull_request">6.6.5. Raising a pull request</a></li>
+<li><a href="#_update_your_master_branch">5.6.1. Update your master branch</a></li>
+<li><a href="#_create_a_topic_branch">5.6.2. Create a topic branch</a></li>
+<li><a href="#_make_file_changes_and_commit">5.6.3. Make File Changes and Commit</a></li>
+<li><a href="#_rebasing_with_code_master_code">5.6.4. Rebasing with <code>master</code></a></li>
+<li><a href="#_raising_a_pull_request">5.6.5. Raising a pull request</a></li>
 </ul>
 </li>
-<li><a href="#_if_your_pull_request_is_accepted">6.7. If your pull request is accepted</a>
+<li><a href="#_if_your_pull_request_is_accepted">5.7. If your pull request is accepted</a>
 <ul class="sectlevel3">
-<li><a href="#_if_your_pull_request_is_rejected">6.7.1. If your pull request is rejected</a></li>
+<li><a href="#_if_your_pull_request_is_rejected">5.7.1. If your pull request is rejected</a></li>
 </ul>
 </li>
 </ul>
 </li>
-<li><a href="#_dg_git-cookbook">7. Appendix: Git Cookbook</a>
+<li><a href="#_dg_git-cookbook">6. Appendix: Git Cookbook</a>
 <ul class="sectlevel2">
-<li><a href="#_modifying_existing_files">7.1. Modifying existing files</a></li>
-<li><a href="#_adding_new_files">7.2. Adding new files</a></li>
-<li><a href="#_deleting_files">7.3. Deleting files</a></li>
-<li><a href="#_renaming_or_moving_files">7.4. Renaming or moving files</a></li>
-<li><a href="#_common_workflows">7.5. Common Workflows</a></li>
-<li><a href="#_backing_up_a_local_branch">7.6. Backing up a local branch</a></li>
-<li><a href="#_quick_change_stashing_changes">7.7. Quick change: stashing changes</a></li>
-<li><a href="#_ignoring_files">7.8. Ignoring files</a></li>
-<li><a href="#_more_advanced_use_cases">7.9. More advanced use cases</a>
+<li><a href="#_modifying_existing_files">6.1. Modifying existing files</a></li>
+<li><a href="#_adding_new_files">6.2. Adding new files</a></li>
+<li><a href="#_deleting_files">6.3. Deleting files</a></li>
+<li><a href="#_renaming_or_moving_files">6.4. Renaming or moving files</a></li>
+<li><a href="#_common_workflows">6.5. Common Workflows</a></li>
+<li><a href="#_backing_up_a_local_branch">6.6. Backing up a local branch</a></li>
+<li><a href="#_quick_change_stashing_changes">6.7. Quick change: stashing changes</a></li>
+<li><a href="#_ignoring_files">6.8. Ignoring files</a></li>
+<li><a href="#_more_advanced_use_cases">6.9. More advanced use cases</a>
 <ul class="sectlevel3">
-<li><a href="#_if_accidentally_push_to_remote">7.9.1. If accidentally push to remote</a></li>
+<li><a href="#_if_accidentally_push_to_remote">6.9.1. If accidentally push to remote</a></li>
 </ul>
 </li>
-<li><a href="#_if_you_ve_accidentally_worked_on_code_master_code_branch">7.10. If you&#8217;ve accidentally worked on <code>master</code> branch</a></li>
-<li><a href="#_if_you_ve_forgotten_to_prefix_your_commits_but_not_pushed">7.11. If you&#8217;ve forgotten to prefix your commits (but not pushed)</a></li>
+<li><a href="#_if_you_ve_accidentally_worked_on_code_master_code_branch">6.10. If you&#8217;ve accidentally worked on <code>master</code> branch</a></li>
+<li><a href="#_if_you_ve_forgotten_to_prefix_your_commits_but_not_pushed">6.11. If you&#8217;ve forgotten to prefix your commits (but not pushed)</a></li>
 </ul>
 </li>
-<li><a href="#_dg_asciidoc-templates">8. Appendix: Asciidoc Templates</a>
+<li><a href="#_dg_asciidoc-templates">7. Appendix: Asciidoc Templates</a>
 <ul class="sectlevel2">
-<li><a href="#_callouts">8.1. Callouts</a></li>
-<li><a href="#_todo_notes">8.2. TODO notes</a></li>
-<li><a href="#_xref_to_guides">8.3. Xref to Guides</a></li>
-<li><a href="#_link_to_isis_addons">8.4. Link to Isis Addons</a></li>
-<li><a href="#_source_code">8.5. Source code</a></li>
-<li><a href="#_images">8.6. Images</a></li>
-<li><a href="#_youtube_screencasts">8.7. YouTube (screencasts)</a></li>
-<li><a href="#_tables">8.8. Tables</a></li>
-<li><a href="#_misc">8.9. Misc.</a></li>
+<li><a href="#_callouts">7.1. Callouts</a></li>
+<li><a href="#_todo_notes">7.2. TODO notes</a></li>
+<li><a href="#_xref_to_guides">7.3. Xref to Guides</a></li>
+<li><a href="#_link_to_isis_addons">7.4. Link to Isis Addons</a></li>
+<li><a href="#_source_code">7.5. Source code</a></li>
+<li><a href="#_images">7.6. Images</a></li>
+<li><a href="#_youtube_screencasts">7.7. YouTube (screencasts)</a></li>
+<li><a href="#_tables">7.8. Tables</a></li>
+<li><a href="#_misc">7.9. Misc.</a></li>
 </ul>
 </li>
-<li><a href="#_dg_project-lombok">9. Appendix: Project Lombok</a>
+<li><a href="#_dg_project-lombok">8. Appendix: Project Lombok</a>
 <ul class="sectlevel2">
-<li><a href="#_future_thoughts">9.1. Future thoughts</a></li>
+<li><a href="#_future_thoughts">8.1. Future thoughts</a></li>
 </ul>
 </li>
-<li><a href="#_dg_agilej">10. Appendix: AgileJ</a></li>
+<li><a href="#_dg_agilej">9. Appendix: AgileJ</a></li>
 </ul>
             </div>
         </div>