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 2015/07/31 12:48:04 UTC

isis-site git commit: ISIS-1182: migration notes for new fast-classpath-scanner

Repository: isis-site
Updated Branches:
  refs/heads/asf-site 1013f3ed2 -> 00e11c85c


ISIS-1182: migration notes for new fast-classpath-scanner


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

Branch: refs/heads/asf-site
Commit: 00e11c85cf467876d9bb1dfa931cc018d8ab8204
Parents: 1013f3e
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Fri Jul 31 11:47:16 2015 +0100
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Fri Jul 31 11:47:16 2015 +0100

----------------------------------------------------------------------
 content/asf.html              |  2 +-
 content/guides/cg.html        | 13 --------
 content/isis-in-pictures.html | 14 ++++-----
 content/migration-notes.html  | 63 +++++++++++++++++++++++++++++++++++++-
 content/more-thanks.html      | 19 ++++++++++++
 5 files changed, 89 insertions(+), 22 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis-site/blob/00e11c85/content/asf.html
----------------------------------------------------------------------
diff --git a/content/asf.html b/content/asf.html
index 1b4d058..aa2a286 100644
--- a/content/asf.html
+++ b/content/asf.html
@@ -507,7 +507,7 @@ table.CodeRay td.code>pre{padding:0}
 </ul>
 </div>
 <div class="paragraph">
-<p>Thanks to companies that have in one way or another supported Apache Isis' development:</p>
+<p>Thanks to companies and other third parties that have in one way or another supported Apache Isis' development:</p>
 </div>
 <div class="ulist">
 <ul>

http://git-wip-us.apache.org/repos/asf/isis-site/blob/00e11c85/content/guides/cg.html
----------------------------------------------------------------------
diff --git a/content/guides/cg.html b/content/guides/cg.html
index 7b014a7..e91634e 100644
--- a/content/guides/cg.html
+++ b/content/guides/cg.html
@@ -2736,19 +2736,6 @@ git checkout master &amp;&amp; git merge --no-ff ISIS-1162_pr-31 &amp;&amp; git
 <div class="paragraph">
 <p>These release notes using bash command line tools.  They should work on Linux and MacOS; for Windows, use mSysGit.</p>
 </div>
-<div class="paragraph">
-<p>See also:</p>
-</div>
-<div class="ulist">
-<ul>
-<li>
-<p>the <a href="#_cg_committers_release-process-one-pager">one pager</a> which lists the essential steps</p>
-</li>
-<li>
-<p>the <a href="#_cg_committers_release-checklist">release checklist</a> for keeping track of where you are while releasing Apache Isis component(s).</p>
-</li>
-</ul>
-</div>
 <div class="sect3">
 <h4 id="_obtain_consensus">10.2.1. Obtain Consensus</h4>
 <div class="paragraph">

http://git-wip-us.apache.org/repos/asf/isis-site/blob/00e11c85/content/isis-in-pictures.html
----------------------------------------------------------------------
diff --git a/content/isis-in-pictures.html b/content/isis-in-pictures.html
index dfc1506..db3b01e 100644
--- a/content/isis-in-pictures.html
+++ b/content/isis-in-pictures.html
@@ -590,7 +590,7 @@ table.CodeRay td.code>pre{padding:0}
 <div class="sect2">
 <h3 id="_contributions">Contributions</h3>
 <div class="paragraph">
-<p>As an alternative to placing actions (business logic) on a domain object, it can instead be placed on an (application-scoped, stateless) domain service. When an object is rendered by Apache Isis, it will automatically render all "contributed" behaviour; rather like traits or aspect-oriented mix-ins).</p>
+<p>As an alternative to placing actions (business logic) on a domain object, it can instead be placed on an (application-scoped, stateless) domain service. When an object is rendered by Apache Isis, it will automatically render all "contributed" behaviour; rather like traits or aspect-oriented mix-ins.</p>
 </div>
 <div class="paragraph">
 <p>In the screenshot below the highlighted "export as xml" action, the "relative priority" property (and "previous" and "next" actions) and also the "similar to" collection are all contributed:</p>
@@ -615,7 +615,7 @@ table.CodeRay td.code>pre{padding:0}
 <h2 id="_extensible_views">Extensible Views</h2>
 <div class="sectionbody">
 <div class="paragraph">
-<p>The Apache Isis viewer is implemented using <a href="http://wicket.apache.org">Apache Wicket</a>, and has been architected to be extensible. For example, when a collection of objects is rendered, this is just one several views, as shown in the selector drop-down:</p>
+<p>The Apache Isis viewer is implemented using <a href="http://wicket.apache.org">Apache Wicket</a>, and has been designed to be extensible. For example, when a collection of objects is rendered, this is just one of several views, as shown in the selector drop-down:</p>
 </div>
 <div class="imageblock">
 <div class="content">
@@ -639,7 +639,7 @@ table.CodeRay td.code>pre{padding:0}
 </div>
 </div>
 <div class="paragraph">
-<p>Yet another "view" (though this one is rather simpler is that provided by the Isis Addons <a href="https://github.com/isisaddons/isis-wicket-excel">excel component</a> (non ASF). This provides a download button to the table as a spreadsheet:</p>
+<p>Yet another "view" (though this one is rather simpler) is that provided by the Isis Addons <a href="https://github.com/isisaddons/isis-wicket-excel">excel component</a> (non ASF). This provides a download button to the table as a spreadsheet:</p>
 </div>
 <div class="imageblock">
 <div class="content">
@@ -674,7 +674,7 @@ table.CodeRay td.code>pre{padding:0}
 <h2 id="_security_auditing_and_more">Security, Auditing and more&#8230;&#8203;</h2>
 <div class="sectionbody">
 <div class="paragraph">
-<p>As well as providing extensions to the UI, the Isis Addons provides a rich set of modules to support various cross-cutting concerns.</p>
+<p>As well as providing extensions to the UI, the Isis Addons provide a rich set of modules to support various cross-cutting concerns.</p>
 </div>
 <div class="paragraph">
 <p>Under the activity menu are four sets of services which provide support for <a href="https://github.com/isisaddons/isis-module-sessionlogger">user session logging/auditing</a> (non ASF), <a href="https://github.com/isisaddons/isis-module-command">command profiling</a> (non ASF), <a href="https://github.com/isisaddons/isis-module-audit">(object change) auditing</a> (shown, non-ASF) and (inter-system) <a href="https://github.com/isisaddons/isis-module-publishing">event publishing</a> (non ASF):</p>
@@ -685,7 +685,7 @@ table.CodeRay td.code>pre{padding:0}
 </div>
 </div>
 <div class="paragraph">
-<p>In the security menu is access to the rich set of functionality provided by the Isis addons <a href="https://github.com/isisaddons/isis-module-security">security module</a> (non ASF):</p>
+<p>In the security menu is access to the rich set of functionality provided by the Isis Addons <a href="https://github.com/isisaddons/isis-module-security">security module</a> (non ASF):</p>
 </div>
 <div class="imageblock">
 <div class="content">
@@ -701,7 +701,7 @@ table.CodeRay td.code>pre{padding:0}
 </div>
 </div>
 <div class="paragraph">
-<p>The Isis addons also provides a module for managing application and user <a href="https://github.com/isisaddons/isis-module-settings">settings</a> (non ASF). Most apps (the todoapp example included) won&#8217;t expose these services directly, but will usually wrap them in their own app-specific settings service that trivially delegates to the settings module&#8217;s services:</p>
+<p>The Isis Addons also provides a module for managing application and user <a href="https://github.com/isisaddons/isis-module-settings">settings</a> (non ASF). Most apps (the todoapp example included) won&#8217;t expose these services directly, but will usually wrap them in their own app-specific settings service that trivially delegates to the settings module&#8217;s services:</p>
 </div>
 <div class="imageblock">
 <div class="content">
@@ -711,7 +711,7 @@ table.CodeRay td.code>pre{padding:0}
 <div class="sect2">
 <h3 id="_multi_tenancy_support">Multi-tenancy support</h3>
 <div class="paragraph">
-<p>Of the various Isis addons, the <a href="https://github.com/isisaddons/isis-module-security">security module</a> has the most features. One significant feature is the ability to associate users and objects with a "tenancy". The todoapp uses this feature so that different users' list of todo items are kept separate from one another. A user with administrator is able to switch their own "tenancy" to the tenancy of some other user, in order to access the objects in that tenancy:</p>
+<p>Of the various Isis Addons, the <a href="https://github.com/isisaddons/isis-module-security">security module</a> has the most features. One significant feature is the ability to associate users and objects with a "tenancy". The todoapp uses this feature so that different users' list of todo items are kept separate from one another. A user with administrator is able to switch their own "tenancy" to the tenancy of some other user, in order to access the objects in that tenancy:</p>
 </div>
 <div class="imageblock">
 <div class="content">

http://git-wip-us.apache.org/repos/asf/isis-site/blob/00e11c85/content/migration-notes.html
----------------------------------------------------------------------
diff --git a/content/migration-notes.html b/content/migration-notes.html
index b3840ed..793eb6f 100644
--- a/content/migration-notes.html
+++ b/content/migration-notes.html
@@ -754,6 +754,66 @@ isis.persistor.datanucleus.impl.datanucleus.schema.validateConstraints=true</cod
 </div>
 </div>
 <div class="sect2">
+<h3 id="_migration-notes_1.8.0-to-1.9.0_specify-all-dom-packages">Specify all <code>dom</code> packages</h3>
+<div class="paragraph">
+<p>Apache Isis automatically scans for certain classes on the classpath in order to configure itself.  Specifically these are:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>searching for classes annotated with <a href="rg.html#_rg_annotations_manpage-DomainService"><code>@DomainService</code></a>.</p>
+</li>
+<li>
+<p>searching for classes extending <a href="rg.html#_rg_classes_super_manpage-FixtureScript"><code>FixtureScript</code></a></p>
+</li>
+<li>
+<p>searching for classes annotated with <a href="rg.html#_rg_annotations_manpage-PersistenceCapable"><code>@PersistenceCapable</code></a>.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>Prior to 1.9.0 we used the <a href="https://github.com/ronmamo/reflections">Reflections</a> library to do this, which under the covers uses <a href="http://www.javassist.org/">Javassist</a>.  This is a relatively heavyweight approach.</p>
+</div>
+<div class="paragraph">
+<p>In 1.9.0 we have changed to using the <a href="https://github.com/lukehutch/fast-classpath-scanner">Fast-Classpath-Scanner</a> library, which is altogether more lightweight and has no dependencies.</p>
+</div>
+<div class="paragraph">
+<p>Generally this change should be transparent, however you should ensure that all domain classes are correctly registered using the <code>isis.persistor.datanucleus.RegisterEntities.packagePrefix</code> key.  This should include any domain classes for addon modules.</p>
+</div>
+<div class="paragraph">
+<p>For example, the (non-ASF) <a href="http://github.com/isisaddons/isis-app-todoapp">Isis addons' todoapp</a>'s configuration now reads:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="ini">isis.persistor.datanucleus.RegisterEntities.packagePrefix=\
+                todoapp.dom.module,\
+                org.isisaddons.module.security.dom,\
+                org.isisaddons.module.settings.dom,\
+                org.isisaddons.module.sessionlogger.dom,\
+                org.isisaddons.module.command.dom,\
+                org.isisaddons.module.audit.dom,\
+                org.isisaddons.module.publishing.dom</code></pre>
+</div>
+</div>
+<div class="admonitionblock tip">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-tip" title="Tip"></i>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>Alternatively, could have just specified <code>org.isisaddons.module</code> instead of enumerating every addon.  This would be a bit slower, but more maintainable.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p>If you fail to do this then DataNucleus will build up its metamodel lazily, rather than validate all classes up-front.  This can call issues: we&#8217;ve seen malformed SQL being submitted when DN wasn&#8217;t aware of subclasses of a superclass, and we&#8217;ve also seen deadlocks when running against HSQLDB as it attempts to perform a DDL statement intermixed with DML statements.</p>
+</div>
+</div>
+<div class="sect2">
 <h3 id="_migration-notes_1.8.0-to-1.9.0_upgrading-to-java8">Upgrading to Java 8</h3>
 <div class="paragraph">
 <p>Apache Isis 1.9.0 is the first version to support Java 8.  You can continue to use Java 7, but if you want to move to Java 8 then there are several small changes to be made.</p>
@@ -761,7 +821,7 @@ isis.persistor.datanucleus.impl.datanucleus.schema.validateConstraints=true</cod
 <div class="sect3">
 <h4 id="_in_the_parent_code_pom_xml_code_2">In the parent <code>pom.xml</code></h4>
 <div class="paragraph">
-<p>under <code>&lt;build&gt;/&lt;pluginManagement&gt;/&lt;plugins&gt;</code>, add (or update) maven-enforcer-plugin:</p>
+<p>under <code>build/pluginManagement/plugins</code>, add (or update) <code>maven-compiler-plugin</code>:</p>
 </div>
 <div class="listingblock">
 <div class="content">
@@ -1312,6 +1372,7 @@ into the new <code>org.isisaddons.module.settings:isis-module-settings-dom</code
 <li><a href="#_run_code_mvn_clean_code">Run <code>mvn clean</code> !</a></li>
 </ul>
 </li>
+<li><a href="#_migration-notes_1.8.0-to-1.9.0_specify-all-dom-packages">Specify all <code>dom</code> packages</a></li>
 <li><a href="#_migration-notes_1.8.0-to-1.9.0_upgrading-to-java8">Upgrading to Java 8</a>
 <ul class="sectlevel3">
 <li><a href="#_in_the_parent_code_pom_xml_code_2">In the parent <code>pom.xml</code></a></li>

http://git-wip-us.apache.org/repos/asf/isis-site/blob/00e11c85/content/more-thanks.html
----------------------------------------------------------------------
diff --git a/content/more-thanks.html b/content/more-thanks.html
index 396ca99..fd7b591 100644
--- a/content/more-thanks.html
+++ b/content/more-thanks.html
@@ -535,6 +535,25 @@ table.CodeRay td.code>pre{padding:0}
 </tr>
 </tbody>
 </table>
+<div class="paragraph">
+<p>Also to:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p><a href="https://github.com/mojavelinux">Dan Allen</a> for his fantastic work on <a href="https://github.com/asciidoctor/asciidoctor">Asciidoctor</a></p>
+</li>
+<li>
+<p><a href="https://github.com/lukehutch">Luke Hutch</a> for his <a href="https://github.com/lukehutch/fast-classpath-scanner">fast-classpath-scanner</a>, in particular for merging in our PR for Java 7 support and releasing so quickly</p>
+</li>
+<li>
+<p><a href="https://github.com/krasa/MavenHelper">Vojtech Krasa</a> for his super <a href="https://github.com/krasa/MavenHelper">MavenHelper</a> plugin to IntelliJ</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>and to many others who contribute their free time and passion to open source.</p>
+</div>
         </div>
 
         <footer>