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/10/09 10:34:03 UTC
[05/10] isis-site git commit: ISIS-1465: updates docs,
hint-n-tip for DN 4.x and structure of simpleapp
http://git-wip-us.apache.org/repos/asf/isis-site/blob/346e91e1/content/guides/ugfun/ugfun.html
----------------------------------------------------------------------
diff --git a/content/guides/ugfun/ugfun.html b/content/guides/ugfun/ugfun.html
index 2927e18..642c397 100644
--- a/content/guides/ugfun/ugfun.html
+++ b/content/guides/ugfun/ugfun.html
@@ -2532,22 +2532,53 @@ mvn clean install</code></pre>
<p>The quickest way to get started building an application "for real" is to run the <code>simpleapp</code> archetype. Like the <a href="#_ugfun_getting-started_helloworld-archetype">helloworld archetype</a>, this too will generate a very simple one-class domain model (an entity called <code>SimpleObject</code> with a couple of properties).</p>
</div>
<div class="paragraph">
- <p>However, the generated application also provides more structure to assist you as your application grows. For example:</p>
+ <p>However, the generated application also provides more structure to assist you as your application grows:</p>
+ </div>
+ <div class="imageblock">
+ <div class="content">
+ <a class="image" href="images/getting-started/using-simple-app/structure/structure.png"><img src="images/getting-started/using-simple-app/structure/structure.png" alt="structure" width="800px"></a>
+ </div>
+ </div>
+ <div class="paragraph">
+ <p>where <code>xxx</code> is the name of the <code>artifactId</code> that you supply when you run the archetype.</p>
+ </div>
+ <div class="paragraph">
+ <p>Specifically:</p>
</div>
<div class="ulist">
<ul>
- <li> <p>the application is multi-module, separating out the business logic (<code>module-simple</code> Maven module) from the bootstrapping modules (<code>application</code> Maven module and the <code>webapp</code> module)</p> </li>
- <li> <p>the <code>SimpleObjectRepository</code> service (to create/retrieve instances) is separate from the <code>SimpleObjectMenu</code> menu service (for the UI); the former is delegated to by the latter.</p> </li>
- <li> <p>a <code>HomePageViewModel</code> service acts as a home page for the app.</p> </li>
- <li> <p>there are example integration tests, BDD tests as well as unit tests</p> </li>
- <li> <p>there are example fixture scripts for use both when prototyping and used by the integration and BDD tests</p> </li>
- <li> <p>the <a href="../rgmvn.html">Apache Isis Maven plugin</a> to <a href="../rgmvn.html#_rgmvn_validate">validate</a> your domain model is pre-configured</p> </li>
- <li> <p>Maven plugins to package your app as a Docker image is pre-configured</p> </li>
+ <li> <p>the application is multi-module, separating out the business logic (<code>xxx-module-simple</code> Maven module) from the bootstrapping modules (<code>xxx-application</code> Maven module and the <code>xxx-webapp</code> module)</p> </li>
+ <li> <p>in the <code>xxx-module-simple</code> module, the <code>SimpleObjectRepository</code> service (to create/retrieve instances) is separate from the <code>SimpleObjectMenu</code> menu service (for the UI); the former is delegated to by the latter.</p> </li>
+ <li> <p>in the <code>xxx-application</code> module, a <code>HomePageViewModel</code> service acts as a home page for the app.</p> </li>
+ <li> <p>there are example integration tests and BDD tests as well as unit tests</p>
+ <div class="paragraph">
+ <p>There are "cross-module" integration tests in the <code>xxx-application</code> module. These bootstrap the application as a single entity so that these tests can exercise functionality in any and all modules. The BDD tests are also defined here are also "cross-module".</p>
+ </div>
+ <div class="paragraph">
+ <p>There are also "per-module" integration tests in the <code>xxx-module-simple</code> module.</p>
+ </div> </li>
+ <li> <p>there are example fixture scripts for use both when prototyping and used by the integration and BDD tests. These tend to be defined in each individual module, ie <code>xxx-module-simple</code>.</p> </li>
+ <li> <p>the <a href="../rgmvn.html">Apache Isis Maven plugin</a> is configured to <a href="../rgmvn/rgmvn.html#_rgmvn_validate">validate</a> your domain model in the <code>module-simple</code> module</p> </li>
+ <li> <p>the <a href="../rgmvn.html">Apache Isis Maven plugin</a> is also configured to generate a <a href="../rgmvn/rgmvn.html#_rgmvn_swagger">swagger</a> spec file for the entire application, in the <code>xxx-application</code> module</p> </li>
+ <li> <p>Maven plugins to package your app as a Docker image is pre-configured, in the <code>xxx-webapp</code> module.</p> </li>
</ul>
</div>
<div class="paragraph">
<p>From this you can easily rename these initial classes, and extend to build up your own Apache Isis domain application.</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>The (non-ASF) Incode Platform’s <a href="http://platform.incode.org/quickstart/quickstart.html">quickstart archetype</a> builds upon the simpleapp archetype, but adds in support for various Incode Platform modules such as security, auditing, commands and publishing.</p>
+ </div> </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
<div class="sect3">
<h4 id="__ugfun_getting-started_simpleapp-archetype_generating-the-app">4.3.1. Generating the App</h4>
<div class="paragraph">