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 2019/01/06 17:23:06 UTC
[39/51] [partial] isis-site git commit: ISIS-1899: updates site for
1.17.0
http://git-wip-us.apache.org/repos/asf/isis-site/blob/1685fcc5/content/guides/rgcfg/rgcfg.html
----------------------------------------------------------------------
diff --git a/content/guides/rgcfg/rgcfg.html b/content/guides/rgcfg/rgcfg.html
index b8f4ac4..f45f8d7 100644
--- a/content/guides/rgcfg/rgcfg.html
+++ b/content/guides/rgcfg/rgcfg.html
@@ -244,7 +244,7 @@ table.CodeRay td.code>pre{padding:0}
</div>
</form>
</div>
- <p class="nav navbar-text navbar-right small">v1.16.2</p>
+ <p class="nav navbar-text navbar-right small">v1.17.0</p>
</div>
</div>
</nav>
@@ -1165,10 +1165,115 @@ table.CodeRay td.code>pre{padding:0}
</table>
</div>
<div class="sect2">
- <h3 id="__rgcfg_configuring-core_metamodel-validation">5.5. MetaModel Validation</h3>
+ <h3 id="__rgcfg_configuring-core_metamodel-introspection">5.5. MetaModel Introspection</h3>
<table class="tableblock frame-all grid-all spread">
<caption class="title">
- Table 7. Metamodel Validation
+ Table 7. Metamodel Introspection
+ </caption>
+ <colgroup>
+ <col style="width: 33.3333%;">
+ <col style="width: 16.6666%;">
+ <col style="width: 50.0001%;">
+ </colgroup>
+ <thead>
+ <tr>
+ <th class="tableblock halign-left valign-top">Property</th>
+ <th class="tableblock halign-left valign-top">Value<br> (default value)</th>
+ <th class="tableblock halign-left valign-top">Description</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td class="tableblock halign-left valign-top">
+ <div>
+ <div class="paragraph">
+ <p><code>isis.reflector.introspect.</code><br> <code>parallelize</code></p>
+ </div>
+ </div></td>
+ <td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code>,<code>false</code><br> (<code>true</code>)</p></td>
+ <td class="tableblock halign-left valign-top">
+ <div>
+ <div class="paragraph">
+ <p>Whether to build the metamodel in parallel (with multiple threads) or in serial (using a single thread).</p>
+ </div>
+ <div class="paragraph">
+ <p>In general, parallelisation should result in faster bootstrap times.</p>
+ </div>
+ </div></td>
+ </tr>
+ <tr>
+ <td class="tableblock halign-left valign-top">
+ <div>
+ <div class="paragraph">
+ <p><code>isis.reflector.introspect.</code><br> <code>mode</code></p>
+ </div>
+ </div></td>
+ <td class="tableblock halign-left valign-top"><p class="tableblock"><code>lazy</code>,<code>lazy_unless_production</code>,<code>full</code><br> (<code>lazy_unless_production</code>)</p></td>
+ <td class="tableblock halign-left valign-top">
+ <div>
+ <div class="paragraph">
+ <p>How complete to build the metamodel during bootstrapping.</p>
+ </div>
+ <div class="paragraph">
+ <p>Setting to <code>lazy</code> In general, parallelisation should result in faster bootstrap times. This is discussed further below.</p>
+ </div>
+ <div class="admonitionblock important">
+ <table>
+ <tbody>
+ <tr>
+ <td class="icon"> <i class="fa icon-important" title="Important"></i> </td>
+ <td class="content">
+ <div class="paragraph">
+ <p>Metamodel validation is only done after full introspection.</p>
+ </div> </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div></td>
+ </tr>
+ </tbody>
+ </table>
+ <div class="sect3">
+ <h4 id="_lazy_vs_full_introspection">5.5.1. Lazy vs Full introspection.</h4>
+ <div class="paragraph">
+ <p>The framework performs classpath scanning to identify all domain classes (domain services, mixins, entities, view models and fixture scripts), and the class-level facets for all of these are always created during bootstrapping.</p>
+ </div>
+ <div class="paragraph">
+ <p>In addition, the members for all domain services and mixins are also created, because these can give rise to contributed members of the entities/view models.</p>
+ </div>
+ <div class="paragraph">
+ <p>Lazy introspection means that the class members (properties, collections and actions) and their respective facets are <em>not</em> created for all of the entities/view models in the domain model. Instead these are created only on first access. The purpose of this is primarily to speed up bootstrapping during development.</p>
+ </div>
+ <div class="paragraph">
+ <p>To enable lazy introspection, either set the <code>isis.reflector.introspect.mode</code> configuration property to "lazy" or to "lazy_unless_production" (the latter only if also running with a deployment type of "production").</p>
+ </div>
+ <div class="paragraph">
+ <p>However, the trade-off is that metamodel validation is <em>not</em> performed in lazy mode.</p>
+ </div>
+ <div class="admonitionblock tip">
+ <table>
+ <tbody>
+ <tr>
+ <td class="icon"> <i class="fa icon-tip" title="Tip"></i> </td>
+ <td class="content">
+ <div class="paragraph">
+ <p>Note that integration tests are run in <code>production</code> mode, and so by default these perform full introspection. This can be overridden when calling the superclass (<code>IntegrationTestAbstract3</code>)'s contributor with <code>IntrospectionMode.LAZY</code>.</p>
+ </div> </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ </div>
+ <div class="sect2">
+ <h3 id="__rgcfg_configuring-core_metamodel-validation">5.6. MetaModel Validation</h3>
+ <div class="paragraph">
+ <p>Metamodel validation is only done if full introspection is configured, see the <code>isis.reflector.introspect.mode</code> configuration property.</p>
+ </div>
+ <table class="tableblock frame-all grid-all spread">
+ <caption class="title">
+ Table 8. Metamodel Validation
</caption>
<colgroup>
<col style="width: 33.3333%;">
@@ -1506,10 +1611,10 @@ table.CodeRay td.code>pre{padding:0}
</table>
</div>
<div class="sect2">
- <h3 id="__rgcfg_configuring-core_ui">5.6. UI Facet Config Properties</h3>
+ <h3 id="__rgcfg_configuring-core_ui">5.7. UI Facet Config Properties</h3>
<table class="tableblock frame-all grid-all spread">
<caption class="title">
- Table 8. UI Facet Configuration Properties
+ Table 9. UI Facet Configuration Properties
</caption>
<colgroup>
<col style="width: 33.3333%;">
@@ -1564,10 +1669,10 @@ table.CodeRay td.code>pre{padding:0}
</table>
</div>
<div class="sect2">
- <h3 id="__rgcfg_configuring-core_programming-model">5.7. Programming Model</h3>
+ <h3 id="__rgcfg_configuring-core_programming-model">5.8. Programming Model</h3>
<table class="tableblock frame-all grid-all spread">
<caption class="title">
- Table 9. Programming Model
+ Table 10. Programming Model
</caption>
<colgroup>
<col style="width: 33.3333%;">
@@ -1655,10 +1760,10 @@ table.CodeRay td.code>pre{padding:0}
</table>
</div>
<div class="sect2">
- <h3 id="__rgcfg_configuring-core_policy">5.8. Policy</h3>
+ <h3 id="__rgcfg_configuring-core_policy">5.9. Policy</h3>
<table class="tableblock frame-all grid-all spread">
<caption class="title">
- Table 10. Runtime Policy Configuration Properties
+ Table 11. Runtime Policy Configuration Properties
</caption>
<colgroup>
<col style="width: 33.3333%;">
@@ -1730,7 +1835,7 @@ table.CodeRay td.code>pre{padding:0}
</tbody>
</table>
<div class="sect3">
- <h4 id="__rgcfg_configuring-core_filterVisibility">5.8.1. Filtering visibility</h4>
+ <h4 id="__rgcfg_configuring-core_filterVisibility">5.9.1. Filtering visibility</h4>
<div class="paragraph">
<p>The framework provides the <code>isis.reflector.facet.filterVisibility</code> configuration property that influences whether a returned object is visible to the end-user:</p>
</div>
@@ -1755,7 +1860,7 @@ table.CodeRay td.code>pre{padding:0}
</ul>
</div>
<div class="paragraph">
- <p>The original motivation for this feature was to transparently support such features as multi-tenancy (as per the (non-ASF) <a href="http://platform.incode.org" target="_blank">Incode Platform</a>'s security module). That is, if an entity is logically "owned" by a user, then the multi-tenancy support can be arranged to prevent some other user from viewing that object.</p>
+ <p>The original motivation for this feature was to transparently support such features as multi-tenancy (as per the (non-ASF) <a href="http://platform.incode.org" target="_blank" rel="noopener">Incode Platform</a>'s security module). That is, if an entity is logically "owned" by a user, then the multi-tenancy support can be arranged to prevent some other user from viewing that object.</p>
</div>
<div class="paragraph">
<p>By default this configuration property is enabled. To disable the visibility filtering, set the appropriate configuration property to <code>false</code>:</p>
@@ -1786,7 +1891,7 @@ table.CodeRay td.code>pre{padding:0}
</div>
</div>
<div class="sect3">
- <h4 id="__rgcfg_configuring-core_isis-objects-editing">5.8.2. <code>objects.editing</code></h4>
+ <h4 id="__rgcfg_configuring-core_isis-objects-editing">5.9.2. <code>objects.editing</code></h4>
<div class="paragraph">
<p>This configuration property in effect allows editing to be disabled globally for an application:</p>
</div>