You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2017/03/08 05:35:36 UTC

[07/15] isis-site git commit: ISIS-1594: fixes anchors for extension point's conventions

http://git-wip-us.apache.org/repos/asf/isis-site/blob/dd1ff6a4/content/guides/tg.html
----------------------------------------------------------------------
diff --git a/content/guides/tg.html b/content/guides/tg.html
index e3fbd90..0b2e69f 100644
--- a/content/guides/tg.html
+++ b/content/guides/tg.html
@@ -2179,7 +2179,7 @@ mvn clean install -D mavenmixin-jettyconsole</code></pre>
         </div> 
         <div class="ulist"> 
          <ul> 
-          <li> <p>as per <a href="ugvro.html#_ugvro_simplified-representations_configuration-properties">the documentation</a>, configure the Restful Objects viewer to generate a simplified object representation:<br></p> 
+          <li> <p>as per <a href="ugvro.html#__ugvro_simplified-representations_configuration-properties">the documentation</a>, configure the Restful Objects viewer to generate a simplified object representation:<br></p> 
            <div class="listingblock"> 
             <div class="content"> 
              <pre class="CodeRay highlight"><code data-lang="ini">isis.viewer.restfulobjects.objectPropertyValuesOnly=true</code></pre> 

http://git-wip-us.apache.org/repos/asf/isis-site/blob/dd1ff6a4/content/guides/tg.pdf
----------------------------------------------------------------------
diff --git a/content/guides/tg.pdf b/content/guides/tg.pdf
index b634b26..db1079d 100644
--- a/content/guides/tg.pdf
+++ b/content/guides/tg.pdf
@@ -4,8 +4,8 @@
 << /Title (Tutorials)
 /Creator (Asciidoctor PDF 1.5.0.alpha.11, based on Prawn 1.3.0)
 /Producer (Asciidoctor PDF 1.5.0.alpha.11, based on Prawn 1.3.0)
-/CreationDate (D:20170307234228+00'00')
-/ModDate (D:20170307234228+00'00')
+/CreationDate (D:20170308005300+00'00')
+/ModDate (D:20170308005300+00'00')
 >>
 endobj
 2 0 obj
@@ -37412,7 +37412,7 @@ endobj
 << /Border [0 0 0]
 /A << /Type /Action
 /S /URI
-/URI (ugvro.pdf#_ugvro_simplified-representations_configuration-properties)
+/URI (ugvro.pdf#__ugvro_simplified-representations_configuration-properties)
 >>
 /Subtype /Link
 /Rect [101.38026231971153 454.1000000000002 197.19639347956732 468.38000000000017]
@@ -39584,207 +39584,207 @@ xref
 0001144423 00000 n 
 0001144626 00000 n 
 0001144683 00000 n 
-0001144940 00000 n 
-0001144998 00000 n 
-0001145124 00000 n 
-0001145241 00000 n 
-0001145388 00000 n 
-0001145526 00000 n 
-0001145663 00000 n 
-0001145801 00000 n 
-0001145941 00000 n 
-0001146083 00000 n 
-0001146230 00000 n 
-0001146368 00000 n 
-0001146505 00000 n 
-0001146643 00000 n 
-0001146792 00000 n 
-0001146943 00000 n 
-0001147104 00000 n 
-0001147256 00000 n 
-0001147406 00000 n 
-0001147549 00000 n 
-0001147700 00000 n 
-0001147852 00000 n 
-0001148006 00000 n 
-0001148162 00000 n 
-0001148323 00000 n 
-0001148475 00000 n 
-0001148629 00000 n 
-0001148794 00000 n 
-0001148967 00000 n 
-0001149152 00000 n 
-0001149340 00000 n 
-0001149515 00000 n 
-0001149687 00000 n 
-0001149859 00000 n 
-0001150027 00000 n 
-0001150208 00000 n 
-0001150378 00000 n 
-0001150547 00000 n 
-0001150726 00000 n 
-0001150916 00000 n 
-0001151106 00000 n 
-0001151257 00000 n 
-0001151418 00000 n 
-0001151572 00000 n 
-0001151737 00000 n 
-0001151897 00000 n 
-0001152057 00000 n 
-0001152208 00000 n 
-0001152369 00000 n 
-0001152521 00000 n 
-0001152684 00000 n 
-0001152849 00000 n 
-0001153014 00000 n 
-0001153167 00000 n 
-0001153322 00000 n 
-0001153468 00000 n 
-0001153624 00000 n 
-0001153777 00000 n 
-0001153940 00000 n 
-0001154100 00000 n 
-0001154260 00000 n 
-0001154411 00000 n 
-0001154572 00000 n 
-0001154723 00000 n 
-0001154885 00000 n 
-0001155035 00000 n 
-0001155187 00000 n 
-0001155340 00000 n 
-0001155493 00000 n 
-0001155662 00000 n 
-0001155831 00000 n 
-0001155992 00000 n 
-0001156155 00000 n 
-0001156322 00000 n 
-0001156489 00000 n 
-0001156644 00000 n 
-0001156809 00000 n 
-0001156955 00000 n 
-0001157111 00000 n 
-0001157277 00000 n 
-0001157445 00000 n 
-0001157581 00000 n 
-0001157727 00000 n 
-0001157873 00000 n 
-0001158021 00000 n 
-0001158159 00000 n 
-0001158307 00000 n 
-0001158451 00000 n 
-0001158605 00000 n 
-0001158753 00000 n 
-0001158911 00000 n 
-0001159064 00000 n 
-0001159228 00000 n 
-0001159382 00000 n 
-0001159546 00000 n 
-0001159703 00000 n 
-0001159860 00000 n 
-0001160013 00000 n 
-0001160176 00000 n 
-0001160342 00000 n 
-0001160510 00000 n 
-0001160678 00000 n 
-0001160846 00000 n 
-0001160991 00000 n 
-0001161147 00000 n 
-0001161301 00000 n 
-0001161455 00000 n 
-0001161622 00000 n 
-0001161791 00000 n 
-0001161975 00000 n 
-0001162159 00000 n 
-0001162446 00000 n 
-0001162524 00000 n 
-0001162669 00000 n 
-0001162861 00000 n 
-0001163065 00000 n 
-0001163303 00000 n 
-0001163497 00000 n 
-0001163709 00000 n 
-0001163917 00000 n 
-0001164113 00000 n 
-0001164317 00000 n 
-0001164537 00000 n 
-0001164720 00000 n 
-0001164940 00000 n 
-0001165164 00000 n 
-0001165387 00000 n 
-0001165626 00000 n 
-0001165862 00000 n 
-0001166118 00000 n 
-0001166324 00000 n 
-0001166577 00000 n 
-0001166882 00000 n 
-0001167076 00000 n 
-0001167300 00000 n 
-0001167509 00000 n 
-0001167706 00000 n 
-0001167923 00000 n 
-0001168144 00000 n 
-0001168328 00000 n 
-0001168529 00000 n 
-0001168746 00000 n 
-0001168959 00000 n 
-0001169164 00000 n 
-0001169385 00000 n 
-0001169573 00000 n 
-0001169765 00000 n 
-0001170010 00000 n 
-0001170234 00000 n 
-0001170463 00000 n 
-0001170700 00000 n 
-0001170904 00000 n 
-0001171145 00000 n 
-0001171353 00000 n 
-0001171569 00000 n 
-0001171786 00000 n 
-0001171983 00000 n 
-0001172195 00000 n 
-0001172431 00000 n 
-0001172667 00000 n 
-0001172864 00000 n 
-0001173096 00000 n 
-0001173349 00000 n 
-0001173609 00000 n 
-0001173814 00000 n 
-0001174002 00000 n 
-0001174258 00000 n 
-0001174561 00000 n 
-0001175104 00000 n 
-0001183596 00000 n 
-0001183812 00000 n 
-0001185175 00000 n 
-0001186235 00000 n 
-0001193802 00000 n 
-0001194023 00000 n 
-0001195386 00000 n 
-0001196465 00000 n 
-0001202139 00000 n 
-0001202353 00000 n 
-0001203716 00000 n 
-0001204770 00000 n 
-0001205992 00000 n 
-0001206203 00000 n 
-0001206511 00000 n 
-0001207426 00000 n 
-0001209371 00000 n 
-0001209585 00000 n 
-0001209911 00000 n 
-0001211049 00000 n 
-0001212445 00000 n 
-0001212663 00000 n 
-0001214026 00000 n 
-0001215165 00000 n 
-0001216656 00000 n 
-0001216882 00000 n 
-0001218245 00000 n 
+0001144941 00000 n 
+0001144999 00000 n 
+0001145125 00000 n 
+0001145242 00000 n 
+0001145389 00000 n 
+0001145527 00000 n 
+0001145664 00000 n 
+0001145802 00000 n 
+0001145942 00000 n 
+0001146084 00000 n 
+0001146231 00000 n 
+0001146369 00000 n 
+0001146506 00000 n 
+0001146644 00000 n 
+0001146793 00000 n 
+0001146944 00000 n 
+0001147105 00000 n 
+0001147257 00000 n 
+0001147407 00000 n 
+0001147550 00000 n 
+0001147701 00000 n 
+0001147853 00000 n 
+0001148007 00000 n 
+0001148163 00000 n 
+0001148324 00000 n 
+0001148476 00000 n 
+0001148630 00000 n 
+0001148795 00000 n 
+0001148968 00000 n 
+0001149153 00000 n 
+0001149341 00000 n 
+0001149516 00000 n 
+0001149688 00000 n 
+0001149860 00000 n 
+0001150028 00000 n 
+0001150209 00000 n 
+0001150379 00000 n 
+0001150548 00000 n 
+0001150727 00000 n 
+0001150917 00000 n 
+0001151107 00000 n 
+0001151258 00000 n 
+0001151419 00000 n 
+0001151573 00000 n 
+0001151738 00000 n 
+0001151898 00000 n 
+0001152058 00000 n 
+0001152209 00000 n 
+0001152370 00000 n 
+0001152522 00000 n 
+0001152685 00000 n 
+0001152850 00000 n 
+0001153015 00000 n 
+0001153168 00000 n 
+0001153323 00000 n 
+0001153469 00000 n 
+0001153625 00000 n 
+0001153778 00000 n 
+0001153941 00000 n 
+0001154101 00000 n 
+0001154261 00000 n 
+0001154412 00000 n 
+0001154573 00000 n 
+0001154724 00000 n 
+0001154886 00000 n 
+0001155036 00000 n 
+0001155188 00000 n 
+0001155341 00000 n 
+0001155494 00000 n 
+0001155663 00000 n 
+0001155832 00000 n 
+0001155993 00000 n 
+0001156156 00000 n 
+0001156323 00000 n 
+0001156490 00000 n 
+0001156645 00000 n 
+0001156810 00000 n 
+0001156956 00000 n 
+0001157112 00000 n 
+0001157278 00000 n 
+0001157446 00000 n 
+0001157582 00000 n 
+0001157728 00000 n 
+0001157874 00000 n 
+0001158022 00000 n 
+0001158160 00000 n 
+0001158308 00000 n 
+0001158452 00000 n 
+0001158606 00000 n 
+0001158754 00000 n 
+0001158912 00000 n 
+0001159065 00000 n 
+0001159229 00000 n 
+0001159383 00000 n 
+0001159547 00000 n 
+0001159704 00000 n 
+0001159861 00000 n 
+0001160014 00000 n 
+0001160177 00000 n 
+0001160343 00000 n 
+0001160511 00000 n 
+0001160679 00000 n 
+0001160847 00000 n 
+0001160992 00000 n 
+0001161148 00000 n 
+0001161302 00000 n 
+0001161456 00000 n 
+0001161623 00000 n 
+0001161792 00000 n 
+0001161976 00000 n 
+0001162160 00000 n 
+0001162447 00000 n 
+0001162525 00000 n 
+0001162670 00000 n 
+0001162862 00000 n 
+0001163066 00000 n 
+0001163304 00000 n 
+0001163498 00000 n 
+0001163710 00000 n 
+0001163918 00000 n 
+0001164114 00000 n 
+0001164318 00000 n 
+0001164538 00000 n 
+0001164721 00000 n 
+0001164941 00000 n 
+0001165165 00000 n 
+0001165388 00000 n 
+0001165627 00000 n 
+0001165863 00000 n 
+0001166119 00000 n 
+0001166325 00000 n 
+0001166578 00000 n 
+0001166883 00000 n 
+0001167077 00000 n 
+0001167301 00000 n 
+0001167510 00000 n 
+0001167707 00000 n 
+0001167924 00000 n 
+0001168145 00000 n 
+0001168329 00000 n 
+0001168530 00000 n 
+0001168747 00000 n 
+0001168960 00000 n 
+0001169165 00000 n 
+0001169386 00000 n 
+0001169574 00000 n 
+0001169766 00000 n 
+0001170011 00000 n 
+0001170235 00000 n 
+0001170464 00000 n 
+0001170701 00000 n 
+0001170905 00000 n 
+0001171146 00000 n 
+0001171354 00000 n 
+0001171570 00000 n 
+0001171787 00000 n 
+0001171984 00000 n 
+0001172196 00000 n 
+0001172432 00000 n 
+0001172668 00000 n 
+0001172865 00000 n 
+0001173097 00000 n 
+0001173350 00000 n 
+0001173610 00000 n 
+0001173815 00000 n 
+0001174003 00000 n 
+0001174259 00000 n 
+0001174562 00000 n 
+0001175105 00000 n 
+0001183597 00000 n 
+0001183813 00000 n 
+0001185176 00000 n 
+0001186236 00000 n 
+0001193803 00000 n 
+0001194024 00000 n 
+0001195387 00000 n 
+0001196466 00000 n 
+0001202140 00000 n 
+0001202354 00000 n 
+0001203717 00000 n 
+0001204771 00000 n 
+0001205993 00000 n 
+0001206204 00000 n 
+0001206512 00000 n 
+0001207427 00000 n 
+0001209372 00000 n 
+0001209586 00000 n 
+0001209912 00000 n 
+0001211050 00000 n 
+0001212446 00000 n 
+0001212664 00000 n 
+0001214027 00000 n 
+0001215166 00000 n 
+0001216657 00000 n 
+0001216883 00000 n 
+0001218246 00000 n 
 trailer
 << /Size 574
 /Root 2 0 R
 /Info 1 0 R
 >>
 startxref
-1219381
+1219382
 %%EOF

http://git-wip-us.apache.org/repos/asf/isis-site/blob/dd1ff6a4/content/guides/ugbtb.html
----------------------------------------------------------------------
diff --git a/content/guides/ugbtb.html b/content/guides/ugbtb.html
index 112cd91..733513c 100644
--- a/content/guides/ugbtb.html
+++ b/content/guides/ugbtb.html
@@ -528,7 +528,7 @@ table.CodeRay td.code>pre{padding:0}
          <p>When developing an Apache Isis application you will most likely start off with the persistent domain entities: <code>Customer</code>, <code>Order</code>, <code>Product</code>, and so on. For some applications this may well suffice. However, if the application needs to integrate with other systems, or if the application needs to support reasonably complex business processes, then you may need to look beyond just domain entities. This section explores these use cases.</p> 
         </div> 
         <div class="sect3"> 
-         <h4 id="_ugbtb_view-models_use-cases_externally-managed-entities">2.1.1. Externally-managed entities</h4> 
+         <h4 id="__ugbtb_view-models_use-cases_externally-managed-entities">2.1.1. Externally-managed entities</h4> 
          <div class="paragraph"> 
           <p>Sometimes the entities that make up your application are persisted not in the local JDO/DataNucleus database but reside in some other system, for example accessible only through a SOAP web service. Logically that data might still be considered a domain entity and we might want to associate behaviour with it, however it cannot be modelled as a domain entity if only because JDO/DataNucleus doesn\u2019t know about the entity nor how to retrieve or update it.</p> 
          </div> 
@@ -556,7 +556,7 @@ table.CodeRay td.code>pre{padding:0}
          </div> 
         </div> 
         <div class="sect3"> 
-         <h4 id="_ugbtb_view-models_use-cases_in-memory-entities">2.1.2. In-memory entities</h4> 
+         <h4 id="__ugbtb_view-models_use-cases_in-memory-entities">2.1.2. In-memory entities</h4> 
          <div class="paragraph"> 
           <p>As a variation on the above, sometimes there are domain objects that are, conceptually at least entities, but whose state is not actually persisted anywhere, merely held in-memory (eg in a hash).</p> 
          </div> 
@@ -565,7 +565,7 @@ table.CodeRay td.code>pre{padding:0}
          </div> 
         </div> 
         <div class="sect3"> 
-         <h4 id="_ugbtb_view-models_use-cases_application-layer-view-models">2.1.3. Application-layer view models</h4> 
+         <h4 id="__ugbtb_view-models_use-cases_application-layer-view-models">2.1.3. Application-layer view models</h4> 
          <div class="paragraph"> 
           <p>Domain entities (whether locally persisted using JDO/DataNucleus or managed externally) are the bread-and-butter of Apache Isis applications: the focus after all, should be on the business domain concepts and ensuring that they are solid. Generally those domain entities will make sense to the business domain experts: they form the <em>ubiquitous language</em> of the domain. These domain entities are part of the domain layer.</p> 
          </div> 
@@ -599,13 +599,13 @@ table.CodeRay td.code>pre{padding:0}
             <p>It takes a little practice though, because even when building the domain layer "first", you should still bear in mind what the use cases are that those domain entities are trying to support. You certainly <em>shouldn\u2019t</em> try to build out a domain layer that could support every conceivable use case before starting to think about view models.</p> 
            </div> 
            <div class="paragraph"> 
-            <p>Instead, you should iterate. Identify the use case/story/end-user objective that you will deliver value to the business. Then build out the minimum domain entities to support that use case (refining the <a href="ugfun.html#_ugfun_core-concepts_philosophy_domain-driven-design_ubiquitous-language">ubiquitous language</a> as you go). Then, identify if there any view models that could be introduced which would simplify the end-user interactions with the system (perhaps automating several related use cases together).</p> 
+            <p>Instead, you should iterate. Identify the use case/story/end-user objective that you will deliver value to the business. Then build out the minimum domain entities to support that use case (refining the <a href="ugfun.html#__ugfun_core-concepts_philosophy_domain-driven-design_ubiquitous-language">ubiquitous language</a> as you go). Then, identify if there any view models that could be introduced which would simplify the end-user interactions with the system (perhaps automating several related use cases together).</p> 
            </div> 
           </div> 
          </div> 
         </div> 
         <div class="sect3"> 
-         <h4 id="_ugbtb_view-models_use-cases_dtos">2.1.4. DTOs</h4> 
+         <h4 id="__ugbtb_view-models_use-cases_dtos">2.1.4. DTOs</h4> 
          <div class="paragraph"> 
           <p>DTOs (data transfer objects) are simple classes that (according to <a href="https://en.wikipedia.org/wiki/Data_transfer_object">wikipedia</a>) "carry data between processes".</p> 
          </div> 
@@ -616,7 +616,7 @@ table.CodeRay td.code>pre{padding:0}
           <p>On the other hand, if the client consuming the DTO is a different application\u2009\u2014\u2009by which we mean developed/deployed by a different (possible third-party) team\u2009\u2014\u2009then the DTOs act as a formal contract between the provider and the consumer. In such cases, exposing domain entities over <a href="ugvro.html">RestfulObjects</a> would be "A Bad Thing"\u2122 because the consumer would in effect have access to implementation details that could then not be easily changed by the producer.</p> 
          </div> 
          <div class="paragraph"> 
-          <p>To support this use case, a view model can be defined such that it can act as a DTO. This is done by annotating the class using JAXB annotations; this allows the consumer to obtain the DTO in XML format along with a corresponding XSD schema describing the structure of that XML. A discussion of how that might be done using an ESB such as <a href="http://camel.apache.org">Apache Camel\u2122</a> follows <a href="#_ugbtb_view-models_use-cases_dtos_consumers">below</a>.</p> 
+          <p>To support this use case, a view model can be defined such that it can act as a DTO. This is done by annotating the class using JAXB annotations; this allows the consumer to obtain the DTO in XML format along with a corresponding XSD schema describing the structure of that XML. A discussion of how that might be done using an ESB such as <a href="http://camel.apache.org">Apache Camel\u2122</a> follows <a href="#__ugbtb_view-models_use-cases_dtos_consumers">below</a>.</p> 
          </div> 
          <div class="paragraph"> 
           <p>In case it\u2019s not obvious, these DTOs are still usable as "regular" view models; they will render in the <a href="ugvw.html">Wicket viewer</a> just like any other. In fact (as the <a href="#_ugbtb_view-models_programming-model">programming model</a> section below makes clear), these JAXB-annotated view models are in many regards the most powerful of all the alternative ways of writing view models.</p> 
@@ -625,7 +625,7 @@ table.CodeRay td.code>pre{padding:0}
           <p>It\u2019s also worth noting that it is also possible to download the XML (or XSD) straight from the UI, useful during development. The view model simply needs to implement the <a href="rgcms.html#_rgcms_classes_mixins_Dto"><code>Dto</code></a> marker interface; the framework has <a href="rgcms.html#_rgcms_classes_mixins_Dto">mixins</a> that contribute the download actions to the view model.</p> 
          </div> 
          <div class="sect4"> 
-          <h5 id="_ugbtb_view-models_use-cases_dtos_consumers">DTO Consumers</h5> 
+          <h5 id="__ugbtb_view-models_use-cases_dtos_consumers">DTO Consumers</h5> 
           <div class="paragraph"> 
            <p>The actual consumers of DTOs will generally obtain the XML of the view models either by requesting the XML directly, eg using the <a href="ugvro.html">RestfulObjects viewer</a>, or may have the XML sent to them asynchronously using an ESB such as Apache Camel.</p> 
           </div> 
@@ -890,7 +890,7 @@ table.CodeRay td.code>pre{padding:0}
           <tbody>
            <tr> 
             <td><i class="conum" data-value="1"></i><b>1</b></td> 
-            <td>package name encodes major version; see discussion on <a href="#_ugbtb_view-models_jaxb_versioning">versioning</a></td> 
+            <td>package name encodes major version; see discussion on <a href="#__ugbtb_view-models_jaxb_versioning">versioning</a></td> 
            </tr> 
            <tr> 
             <td><i class="conum" data-value="2"></i><b>2</b></td> 
@@ -906,15 +906,15 @@ table.CodeRay td.code>pre{padding:0}
            </tr> 
            <tr> 
             <td><i class="conum" data-value="5"></i><b>5</b></td> 
-            <td>class name encodes (major and) minor version; see discussion on <a href="#_ugbtb_view-models_jaxb_versioning">versioning</a></td> 
+            <td>class name encodes (major and) minor version; see discussion on <a href="#__ugbtb_view-models_jaxb_versioning">versioning</a></td> 
            </tr> 
            <tr> 
             <td><i class="conum" data-value="6"></i><b>6</b></td> 
-            <td>again, see discussion on <a href="#_ugbtb_view-models_jaxb_versioning">versioning</a></td> 
+            <td>again, see discussion on <a href="#__ugbtb_view-models_jaxb_versioning">versioning</a></td> 
            </tr> 
            <tr> 
             <td><i class="conum" data-value="7"></i><b>7</b></td> 
-            <td>again, see discussion on <a href="#_ugbtb_view-models_jaxb_versioning">versioning</a></td> 
+            <td>again, see discussion on <a href="#__ugbtb_view-models_jaxb_versioning">versioning</a></td> 
            </tr> 
            <tr> 
             <td><i class="conum" data-value="8"></i><b>8</b></td> 
@@ -922,17 +922,17 @@ table.CodeRay td.code>pre{padding:0}
            </tr> 
            <tr> 
             <td><i class="conum" data-value="9"></i><b>9</b></td> 
-            <td>reference to a persistent entity; discussed <a href="#_ugbtb_view-models_jaxb_referencing-domain-entities">below</a></td> 
+            <td>reference to a persistent entity; discussed <a href="#__ugbtb_view-models_jaxb_referencing-domain-entities">below</a></td> 
            </tr> 
            <tr> 
             <td><i class="conum" data-value="10"></i><b>10</b></td> 
-            <td>reference to a collection of persistent entities; again discussed <a href="#_ugbtb_view-models_jaxb_referencing-domain-entities">below</a></td> 
+            <td>reference to a collection of persistent entities; again discussed <a href="#__ugbtb_view-models_jaxb_referencing-domain-entities">below</a></td> 
            </tr> 
           </tbody>
          </table> 
         </div> 
         <div class="sect3"> 
-         <h4 id="_ugbtb_view-models_jaxb_referencing-domain-entities">2.3.1. Referencing Domain Entities</h4> 
+         <h4 id="__ugbtb_view-models_jaxb_referencing-domain-entities">2.3.1. Referencing Domain Entities</h4> 
          <div class="paragraph"> 
           <p>It\u2019s quite common for view models to be "backed by" (be projections of) some underlying domain entity. The <code>ToDoItemDto</code> we\u2019ve been using as the example in this section is an example: there is an underlying <code>ToDoItem</code> entity.</p> 
          </div> 
@@ -994,7 +994,7 @@ public <span class="type">class</span> <span class="class">ToDoItemV1_1</span> <
          </div> 
         </div> 
         <div class="sect3"> 
-         <h4 id="_ugbtb_view-models_jaxb_versioning">2.3.2. Versioning</h4> 
+         <h4 id="__ugbtb_view-models_jaxb_versioning">2.3.2. Versioning</h4> 
          <div class="paragraph"> 
           <p>The whole point of using DTOs (in Apache Isis, at least) is to define a formal contact between two inter-operating but independent applications. Since the only thing we can predicate about the future with any certainty is that it one or both of these applications will change, we should version DTOs from the get-go. This allows us to make changes going forward without unnecessarily breaking existing consumers of the data.</p> 
          </div> 
@@ -1059,7 +1059,7 @@ public <span class="type">class</span> <span class="class">ToDoItemV1_1</span> <
           <p>Although there is no requirement for the namespace URI to correspond to a physical URL, it should be unique. This usually means including a company domain name within the string.</p> 
          </div> 
          <div class="paragraph"> 
-          <p>As noted above, this package will contain multiple DTO classes all with the same namespace; these represent a set of minor versions of the DTO, each subsequent one intended to be backwardly compatible with the previous. Since these DTO classes will all be in the same package (as per the <a href="#_ugbtb_view-models_jaxb_using-packages-to-version">advice above</a>), the class should therefore include the minor version name:</p> 
+          <p>As noted above, this package will contain multiple DTO classes all with the same namespace; these represent a set of minor versions of the DTO, each subsequent one intended to be backwardly compatible with the previous. Since these DTO classes will all be in the same package (as per the <a href="#__ugbtb_view-models_jaxb_using-packages-to-version">advice above</a>), the class should therefore include the minor version name:</p> 
          </div> 
          <div class="listingblock"> 
           <div class="content"> 
@@ -1143,9 +1143,9 @@ public <span class="type">class</span> <span class="class">ToDoItemV1_1</span> <
          </div> 
         </div> 
         <div class="sect3"> 
-         <h4 id="_ugbtb_view-models_jaxb_generating-xsds-and-dtos">2.3.3. Generating XSDs and DTOs</h4> 
+         <h4 id="__ugbtb_view-models_jaxb_generating-xsds-and-dtos">2.3.3. Generating XSDs and DTOs</h4> 
          <div class="paragraph"> 
-          <p>In the section <a href="#_ugbtb_view-models_jaxb_referencing-domain-entities">above</a> it was explained how a view model DTO can transparent reference any "backing" entities; these references are converted to internal object identifiers.</p> 
+          <p>In the section <a href="#__ugbtb_view-models_jaxb_referencing-domain-entities">above</a> it was explained how a view model DTO can transparent reference any "backing" entities; these references are converted to internal object identifiers.</p> 
          </div> 
          <div class="paragraph"> 
           <p>However, if the consumer of the XML is another Java process (eg running within an Apache Camel route), then you might be tempted/expect to be able to use the same DTO within that Java process. After a little thought though you\u2019ll realize that (duh!) of course you cannot; the consumer runs in a different process space, and will not have references to those containing entities.</p> 
@@ -1817,7 +1817,7 @@ public <span class="type">class</span> <span class="class">ToDoItemV1_1</span> <
           </div> 
          </div> 
          <div class="paragraph"> 
-          <p>The <a href="ugtst.html#_ugtst_integ-test-support_bootstrapping_IntegrationTestAbstract"><code>IntegrationTestAbstract</code></a> and <a href="rgcms.html#_rgcms_classes_super_FixtureScript"><code>FixtureScript</code></a> classes both provide a <code>mixin(\u2026\u200b)</code> convenience method.</p> 
+          <p>The <a href="ugtst.html#__ugtst_integ-test-support_bootstrapping_IntegrationTestAbstract"><code>IntegrationTestAbstract</code></a> and <a href="rgcms.html#_rgcms_classes_super_FixtureScript"><code>FixtureScript</code></a> classes both provide a <code>mixin(\u2026\u200b)</code> convenience method.</p> 
          </div> 
         </div> 
         <div class="sect3"> 
@@ -2211,7 +2211,7 @@ public <span class="type">class</span> <span class="class">ToDoItemV1_1</span> <
         <p>Isis does not translate the values of your domain objects, though. So, if you have a domain concept such as <code>Country</code> whose name is intended to be localized according to the current user, you will need to model this yourself.</p> 
        </div> 
        <div class="sect2"> 
-        <h3 id="_ugbtb_i18n_implementation-approach">4.1. Implementation Approach</h3> 
+        <h3 id="__ugbtb_i18n_implementation-approach">4.1. Implementation Approach</h3> 
         <div class="paragraph"> 
          <p>Most Java frameworks tackle i18n by using Java\u2019s own <code>ResourceBundle</code> API. However, there are some serious drawbacks in this approach, including:</p> 
         </div> 
@@ -2266,7 +2266,7 @@ public <span class="type">class</span> <span class="class">ToDoItemV1_1</span> <
         </div> 
        </div> 
        <div class="sect2"> 
-        <h3 id="_ugbtb_i18n_translation-service">4.2. <code>TranslationService</code></h3> 
+        <h3 id="__ugbtb_i18n_translation-service">4.2. <code>TranslationService</code></h3> 
         <div class="paragraph"> 
          <p>The cornerstone of Apache Isis' support for i18n is the <code>TranslationService</code> service. This is defined in the applib with the following API:</p> 
         </div> 
@@ -2339,7 +2339,7 @@ public <span class="type">class</span> <span class="class">ToDoItemV1_1</span> <
         </div> 
        </div> 
        <div class="sect2"> 
-        <h3 id="_ugbtb_i18n_imperative-messages">4.3. Imperative messages</h3> 
+        <h3 id="__ugbtb_i18n_imperative-messages">4.3. Imperative messages</h3> 
         <div class="paragraph"> 
          <p>The <code>TranslationService</code> is used internally by Apache Isis when building up the metamodel; the name and description of every class, property, collection, action and action parameter is automatically translated. Thus the simple act of bootstrapping Apache Isis will cause most of the messages requiring translation (that is: those for the Apache Isis metamodel) to be captured by the <code>TranslationService</code>.</p> 
         </div> 
@@ -2499,7 +2499,7 @@ msgstr "Ich heisse {firstName} {lastName}."</code></pre>
         </div> 
        </div> 
        <div class="sect2"> 
-        <h3 id="_ugbtb_i18n_wicket-viewer">4.4. Wicket Viewer</h3> 
+        <h3 id="__ugbtb_i18n_wicket-viewer">4.4. Wicket Viewer</h3> 
         <div class="paragraph"> 
          <p>The <a href="ugvw.html">Wicket viewer</a> (its labels and messages) is also internationalized using the <code>TranslationService</code>. This is done through an Isis-specific implementation of the Wicket framework\u2019s <code>org.apache.wicket.Localizer</code> class, namely <code>LocalizerForIsis</code>.</p> 
         </div> 
@@ -2764,7 +2764,7 @@ msgstr "Username"</code></pre>
         </div> 
        </div> 
        <div class="sect2"> 
-        <h3 id="_ugbtb_i18n_integration-testing">4.5. Integration Testing</h3> 
+        <h3 id="__ugbtb_i18n_integration-testing">4.5. Integration Testing</h3> 
         <div class="paragraph"> 
          <p>So much for the API; but as noted, it is also necessary to ensure that the required translations are recorded (by the <code>TranslationService</code>) into the <code>.pot</code> file.</p> 
         </div> 
@@ -2869,7 +2869,7 @@ msgstr "&lt;i&gt;Quantité&lt;/i&gt;"</code></pre>
         </div> 
        </div> 
        <div class="sect2"> 
-        <h3 id="_ugbtb_i18n_configuration">4.7. Configuration</h3> 
+        <h3 id="__ugbtb_i18n_configuration">4.7. Configuration</h3> 
         <div class="paragraph"> 
          <p>There are several different aspects of the translation service that can be configured.</p> 
         </div> 
@@ -4208,7 +4208,7 @@ log4j.additivity.org.apache.isis.core.runtime.services.i18n.po.PotWriter=false</
          <p>Each of these frameworks has its own way of externalizing its configuration.</p> 
         </div> 
         <div class="sect3"> 
-         <h4 id="_ugbtb_deployment_externalized-configuration_Isis">8.3.1. Apache Isis' Config</h4> 
+         <h4 id="__ugbtb_deployment_externalized-configuration_Isis">8.3.1. Apache Isis' Config</h4> 
          <div class="paragraph"> 
           <p>To tell Apache Isis to load configuration from an external directory, specify the <code>isis.config.dir</code> context parameter.</p> 
          </div> 
@@ -4267,7 +4267,7 @@ log4j.additivity.org.apache.isis.core.runtime.services.i18n.po.PotWriter=false</
          </div> 
         </div> 
         <div class="sect3"> 
-         <h4 id="_ugbtb_deployment_externalized-configuration_Shiro">8.3.2. Shiro Config</h4> 
+         <h4 id="__ugbtb_deployment_externalized-configuration_Shiro">8.3.2. Shiro Config</h4> 
          <div class="paragraph"> 
           <p>If using Apache Isis' <a href="ugsec.html#_ugsec_configuring-isis-to-use-shiro">Shiro integration</a> for authentication and/or authorization, note that it reads from the <code>shiro.ini</code> configuration file. By default this also resides in <code>WEB-INF</code>.</p> 
          </div> 
@@ -4299,7 +4299,7 @@ log4j.additivity.org.apache.isis.core.runtime.services.i18n.po.PotWriter=false</
          </div> 
         </div> 
         <div class="sect3"> 
-         <h4 id="_ugbtb_deployment_externalized-configuration_Log4j">8.3.3. Log4j Config</h4> 
+         <h4 id="__ugbtb_deployment_externalized-configuration_Log4j">8.3.3. Log4j Config</h4> 
          <div class="paragraph"> 
           <p>By default Apache Isis configures log4j to read the <code>logging.properties</code> file in the <code>WEB-INF</code> directory. This can be overridden by setting the <code>log4j.properties</code> system property to the URL of the log4j properties file.</p> 
          </div> 
@@ -4754,7 +4754,7 @@ export ISIS_OPTS="isis.appManifest=domainapp.app.DomainAppAppManifestWithFixture
         <div class="sect3"> 
          <h4 id="_configuring_in_tomcat">8.7.1. Configuring in Tomcat</h4> 
          <div class="paragraph"> 
-          <p>If using Tomcat, update the <code>CATALINA_OPTS</code> variable. (This variable is also updated if <a href="#_ugbtb_deployment_externalized-configuration_Log4j">configuring logging to run externally</a>).</p> 
+          <p>If using Tomcat, update the <code>CATALINA_OPTS</code> variable. (This variable is also updated if <a href="#__ugbtb_deployment_externalized-configuration_Log4j">configuring logging to run externally</a>).</p> 
          </div> 
         </div> 
        </div> 
@@ -4822,7 +4822,7 @@ export ISIS_OPTS="isis.appManifest=domainapp.app.DomainAppAppManifestWithFixture
         <p>The following sections detail these various listeners, filters and servlets in more detail.</p> 
        </div> 
        <div class="sect2"> 
-        <h3 id="_ugbtb_web-xml_servlet-context-listeners">9.1. Servlet Context Listeners</h3> 
+        <h3 id="__ugbtb_web-xml_servlet-context-listeners">9.1. Servlet Context Listeners</h3> 
         <div class="paragraph"> 
          <p>Servlet context listeners are used to perform initialization on application startup. Both Shiro (if configured as the security mechanism) and RestEasy (for the Restful Objects viewer) require their own context listener. In addition, if the Wicket viewer is <em>not</em> being used, then additional Apache Isis-specific listener is required for bootstrapping of the Apache Isis framework itself.</p> 
         </div> 
@@ -4920,7 +4920,7 @@ export ISIS_OPTS="isis.appManifest=domainapp.app.DomainAppAppManifestWithFixture
         </div> 
        </div> 
        <div class="sect2"> 
-        <h3 id="_ugbtb_web-xml_servlets">9.2. Servlets</h3> 
+        <h3 id="__ugbtb_web-xml_servlets">9.2. Servlets</h3> 
         <div class="paragraph"> 
          <p>Servlets process HTTP requests and return corresponding responses.</p> 
         </div> 
@@ -5017,7 +5017,7 @@ export ISIS_OPTS="isis.appManifest=domainapp.app.DomainAppAppManifestWithFixture
         </div> 
        </div> 
        <div class="sect2"> 
-        <h3 id="_ugbtb_web-xml_filters">9.3. Filters</h3> 
+        <h3 id="__ugbtb_web-xml_filters">9.3. Filters</h3> 
         <div class="paragraph"> 
          <p>The order in which filters appear in <code>web.xml</code> matters: first to last they define a pipeline. This is shown in the above diagrams, and the subsections also list the in the same order that they should appear in your <code>web.xml</code>.</p> 
         </div> 
@@ -5329,7 +5329,7 @@ export ISIS_OPTS="isis.appManifest=domainapp.app.DomainAppAppManifestWithFixture
         </div> 
        </div> 
        <div class="sect2"> 
-        <h3 id="_ugbtb_web-xml_context-parameters">9.4. Configuration Files</h3> 
+        <h3 id="__ugbtb_web-xml_context-parameters">9.4. Configuration Files</h3> 
         <div class="paragraph"> 
          <p>However Apache Isis is bootstrapped (using the <code>IsisWicketApplication</code> or using <code>IsisWebAppBootstrapper</code>), it will read a number of configuration files, such as <code>isis.properties</code>.</p> 
         </div> 
@@ -5379,20 +5379,20 @@ export ISIS_OPTS="isis.appManifest=domainapp.app.DomainAppAppManifestWithFixture
         <ul class="sectlevel2"> 
          <li><a href="#_ugbtb_view-models_use-cases">2.1. Use Cases</a> 
           <ul class="sectlevel3"> 
-           <li><a href="#_ugbtb_view-models_use-cases_externally-managed-entities">2.1.1. Externally-managed entities</a></li> 
-           <li><a href="#_ugbtb_view-models_use-cases_in-memory-entities">2.1.2. In-memory entities</a></li> 
-           <li><a href="#_ugbtb_view-models_use-cases_application-layer-view-models">2.1.3. Application-layer view models</a></li> 
-           <li><a href="#_ugbtb_view-models_use-cases_dtos">2.1.4. DTOs</a> 
+           <li><a href="#__ugbtb_view-models_use-cases_externally-managed-entities">2.1.1. Externally-managed entities</a></li> 
+           <li><a href="#__ugbtb_view-models_use-cases_in-memory-entities">2.1.2. In-memory entities</a></li> 
+           <li><a href="#__ugbtb_view-models_use-cases_application-layer-view-models">2.1.3. Application-layer view models</a></li> 
+           <li><a href="#__ugbtb_view-models_use-cases_dtos">2.1.4. DTOs</a> 
             <ul class="sectlevel4"> 
-             <li><a href="#_ugbtb_view-models_use-cases_dtos_consumers">DTO Consumers</a></li> 
+             <li><a href="#__ugbtb_view-models_use-cases_dtos_consumers">DTO Consumers</a></li> 
             </ul> </li> 
           </ul> </li> 
          <li><a href="#_ugbtb_view-models_programming-model">2.2. Programming Model</a></li> 
          <li><a href="#_ugbtb_view-models_jaxb">2.3. JAXB-annotated DTOs</a> 
           <ul class="sectlevel3"> 
-           <li><a href="#_ugbtb_view-models_jaxb_referencing-domain-entities">2.3.1. Referencing Domain Entities</a></li> 
-           <li><a href="#_ugbtb_view-models_jaxb_versioning">2.3.2. Versioning</a></li> 
-           <li><a href="#_ugbtb_view-models_jaxb_generating-xsds-and-dtos">2.3.3. Generating XSDs and DTOs</a></li> 
+           <li><a href="#__ugbtb_view-models_jaxb_referencing-domain-entities">2.3.1. Referencing Domain Entities</a></li> 
+           <li><a href="#__ugbtb_view-models_jaxb_versioning">2.3.2. Versioning</a></li> 
+           <li><a href="#__ugbtb_view-models_jaxb_generating-xsds-and-dtos">2.3.3. Generating XSDs and DTOs</a></li> 
           </ul> </li> 
         </ul> </li> 
        <li><a href="#_ugbtb_decoupling">3. Decoupling</a> 
@@ -5430,24 +5430,24 @@ export ISIS_OPTS="isis.appManifest=domainapp.app.DomainAppAppManifestWithFixture
         </ul> </li> 
        <li><a href="#_ugbtb_i18n">4. i18n</a> 
         <ul class="sectlevel2"> 
-         <li><a href="#_ugbtb_i18n_implementation-approach">4.1. Implementation Approach</a></li> 
-         <li><a href="#_ugbtb_i18n_translation-service">4.2. <code>TranslationService</code></a> 
+         <li><a href="#__ugbtb_i18n_implementation-approach">4.1. Implementation Approach</a></li> 
+         <li><a href="#__ugbtb_i18n_translation-service">4.2. <code>TranslationService</code></a> 
           <ul class="sectlevel3"> 
            <li><a href="#__code_translationservicepo_code">4.2.1. <code>TranslationServicePo</code></a></li> 
           </ul> </li> 
-         <li><a href="#_ugbtb_i18n_imperative-messages">4.3. Imperative messages</a> 
+         <li><a href="#__ugbtb_i18n_imperative-messages">4.3. Imperative messages</a> 
           <ul class="sectlevel3"> 
            <li><a href="#__code_translatablestring_code">4.3.1. <code>TranslatableString</code></a></li> 
            <li><a href="#__code_translatableexception_code">4.3.2. <code>TranslatableException</code></a></li> 
           </ul> </li> 
-         <li><a href="#_ugbtb_i18n_wicket-viewer">4.4. Wicket Viewer</a> 
+         <li><a href="#__ugbtb_i18n_wicket-viewer">4.4. Wicket Viewer</a> 
           <ul class="sectlevel3"> 
            <li><a href="#_commonly_used">4.4.1. Commonly used</a></li> 
            <li><a href="#_login_self_sign_up">4.4.2. Login/self-sign-up</a></li> 
           </ul> </li> 
-         <li><a href="#_ugbtb_i18n_integration-testing">4.5. Integration Testing</a></li> 
+         <li><a href="#__ugbtb_i18n_integration-testing">4.5. Integration Testing</a></li> 
          <li><a href="#_escaped_strings">4.6. Escaped strings</a></li> 
-         <li><a href="#_ugbtb_i18n_configuration">4.7. Configuration</a> 
+         <li><a href="#__ugbtb_i18n_configuration">4.7. Configuration</a> 
           <ul class="sectlevel3"> 
            <li><a href="#_logging">4.7.1. Logging</a></li> 
            <li><a href="#_location_of_the_code_po_code_files">4.7.2. Location of the <code>.po</code> files</a></li> 
@@ -5520,9 +5520,9 @@ export ISIS_OPTS="isis.appManifest=domainapp.app.DomainAppAppManifestWithFixture
           </ul> </li> 
          <li><a href="#_ugbtb_deployment_externalized-configuration">8.3. Externalized Configuration</a> 
           <ul class="sectlevel3"> 
-           <li><a href="#_ugbtb_deployment_externalized-configuration_Isis">8.3.1. Apache Isis' Config</a></li> 
-           <li><a href="#_ugbtb_deployment_externalized-configuration_Shiro">8.3.2. Shiro Config</a></li> 
-           <li><a href="#_ugbtb_deployment_externalized-configuration_Log4j">8.3.3. Log4j Config</a></li> 
+           <li><a href="#__ugbtb_deployment_externalized-configuration_Isis">8.3.1. Apache Isis' Config</a></li> 
+           <li><a href="#__ugbtb_deployment_externalized-configuration_Shiro">8.3.2. Shiro Config</a></li> 
+           <li><a href="#__ugbtb_deployment_externalized-configuration_Log4j">8.3.3. Log4j Config</a></li> 
            <li><a href="#_spring_config">8.3.4. Spring Config</a> 
             <ul class="sectlevel4"> 
              <li><a href="#_an_alternative_approach">An alternative approach</a></li> 
@@ -5553,18 +5553,18 @@ export ISIS_OPTS="isis.appManifest=domainapp.app.DomainAppAppManifestWithFixture
         </ul> </li> 
        <li><a href="#_ugbtb_web-xml">9. <code>web.xml</code></a> 
         <ul class="sectlevel2"> 
-         <li><a href="#_ugbtb_web-xml_servlet-context-listeners">9.1. Servlet Context Listeners</a> 
+         <li><a href="#__ugbtb_web-xml_servlet-context-listeners">9.1. Servlet Context Listeners</a> 
           <ul class="sectlevel3"> 
            <li><a href="#__code_environmentloaderlistener_code_shiro">9.1.1. <code>EnvironmentLoaderListener</code> (Shiro)</a></li> 
            <li><a href="#__code_isiswebappbootstrapper_code">9.1.2. <code>IsisWebAppBootstrapper</code></a></li> 
            <li><a href="#__code_resteasybootstrap_code_resteasy">9.1.3. <code>ResteasyBootstrap</code> (RestEasy)</a></li> 
           </ul> </li> 
-         <li><a href="#_ugbtb_web-xml_servlets">9.2. Servlets</a> 
+         <li><a href="#__ugbtb_web-xml_servlets">9.2. Servlets</a> 
           <ul class="sectlevel3"> 
            <li><a href="#__code_httpservletdispatcher_code_resteasy">9.2.1. <code>HttpServletDispatcher</code> (RestEasy)</a></li> 
            <li><a href="#__code_resourceservlet_code">9.2.2. <code>ResourceServlet</code></a></li> 
           </ul> </li> 
-         <li><a href="#_ugbtb_web-xml_filters">9.3. Filters</a> 
+         <li><a href="#__ugbtb_web-xml_filters">9.3. Filters</a> 
           <ul class="sectlevel3"> 
            <li><a href="#__code_shirofilter_code_shiro">9.3.1. <code>ShiroFilter</code> (Shiro)</a></li> 
            <li><a href="#__code_isislogonexceptionfilter_code">9.3.2. <code>IsisLogOnExceptionFilter</code></a></li> 
@@ -5573,7 +5573,7 @@ export ISIS_OPTS="isis.appManifest=domainapp.app.DomainAppAppManifestWithFixture
            <li><a href="#__code_isissessionfilter_code">9.3.5. <code>IsisSessionFilter</code></a></li> 
            <li><a href="#__code_isistransactionfilterforrestfulobjects_code">9.3.6. <code>IsisTransactionFilterForRestfulObjects</code></a></li> 
           </ul> </li> 
-         <li><a href="#_ugbtb_web-xml_context-parameters">9.4. Configuration Files</a></li> 
+         <li><a href="#__ugbtb_web-xml_context-parameters">9.4. Configuration Files</a></li> 
         </ul> </li> 
       </ul> 
      </div>