You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by bu...@apache.org on 2014/12/31 12:20:55 UTC

svn commit: r934575 - in /websites/staging/isis/trunk: cgi-bin/ content/ content/intro/tutorials/ content/intro/tutorials/resources/petclinic/

Author: buildbot
Date: Wed Dec 31 11:20:54 2014
New Revision: 934575

Log:
Staging update by buildbot for isis

Added:
    websites/staging/isis/trunk/content/intro/tutorials/resources/petclinic/
    websites/staging/isis/trunk/content/intro/tutorials/resources/petclinic/010-01-login-page.png   (with props)
    websites/staging/isis/trunk/content/intro/tutorials/resources/petclinic/010-02-home-page.png   (with props)
    websites/staging/isis/trunk/content/intro/tutorials/resources/petclinic/010-03-prototyping-menu.png   (with props)
    websites/staging/isis/trunk/content/intro/tutorials/resources/petclinic/010-04-simpleobjects.png   (with props)
    websites/staging/isis/trunk/content/intro/tutorials/resources/petclinic/010-05-simpleobject-list.png   (with props)
    websites/staging/isis/trunk/content/intro/tutorials/resources/petclinic/020-01-idea-configuration.png   (with props)
    websites/staging/isis/trunk/content/intro/tutorials/resources/petclinic/020-02-idea-configuration.png   (with props)
    websites/staging/isis/trunk/content/intro/tutorials/resources/petclinic/030-01-idea-configuration-updated.png   (with props)
    websites/staging/isis/trunk/content/intro/tutorials/resources/petclinic/030-02-updated-app.png   (with props)
    websites/staging/isis/trunk/content/intro/tutorials/resources/petclinic/040-01-idea-configuration-updated.png   (with props)
Modified:
    websites/staging/isis/trunk/cgi-bin/   (props changed)
    websites/staging/isis/trunk/content/   (props changed)
    websites/staging/isis/trunk/content/intro/tutorials/step-by-step-petclinic.html

Propchange: websites/staging/isis/trunk/cgi-bin/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Wed Dec 31 11:20:54 2014
@@ -1 +1 @@
-1648661
+1648672

Propchange: websites/staging/isis/trunk/content/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Wed Dec 31 11:20:54 2014
@@ -1 +1 @@
-1648661
+1648672

Added: websites/staging/isis/trunk/content/intro/tutorials/resources/petclinic/010-01-login-page.png
==============================================================================
Binary file - no diff available.

Propchange: websites/staging/isis/trunk/content/intro/tutorials/resources/petclinic/010-01-login-page.png
------------------------------------------------------------------------------
    svn:mime-type = image/png

Added: websites/staging/isis/trunk/content/intro/tutorials/resources/petclinic/010-02-home-page.png
==============================================================================
Binary file - no diff available.

Propchange: websites/staging/isis/trunk/content/intro/tutorials/resources/petclinic/010-02-home-page.png
------------------------------------------------------------------------------
    svn:mime-type = image/png

Added: websites/staging/isis/trunk/content/intro/tutorials/resources/petclinic/010-03-prototyping-menu.png
==============================================================================
Binary file - no diff available.

Propchange: websites/staging/isis/trunk/content/intro/tutorials/resources/petclinic/010-03-prototyping-menu.png
------------------------------------------------------------------------------
    svn:mime-type = image/png

Added: websites/staging/isis/trunk/content/intro/tutorials/resources/petclinic/010-04-simpleobjects.png
==============================================================================
Binary file - no diff available.

Propchange: websites/staging/isis/trunk/content/intro/tutorials/resources/petclinic/010-04-simpleobjects.png
------------------------------------------------------------------------------
    svn:mime-type = image/png

Added: websites/staging/isis/trunk/content/intro/tutorials/resources/petclinic/010-05-simpleobject-list.png
==============================================================================
Binary file - no diff available.

Propchange: websites/staging/isis/trunk/content/intro/tutorials/resources/petclinic/010-05-simpleobject-list.png
------------------------------------------------------------------------------
    svn:mime-type = image/png

Added: websites/staging/isis/trunk/content/intro/tutorials/resources/petclinic/020-01-idea-configuration.png
==============================================================================
Binary file - no diff available.

Propchange: websites/staging/isis/trunk/content/intro/tutorials/resources/petclinic/020-01-idea-configuration.png
------------------------------------------------------------------------------
    svn:mime-type = image/png

Added: websites/staging/isis/trunk/content/intro/tutorials/resources/petclinic/020-02-idea-configuration.png
==============================================================================
Binary file - no diff available.

Propchange: websites/staging/isis/trunk/content/intro/tutorials/resources/petclinic/020-02-idea-configuration.png
------------------------------------------------------------------------------
    svn:mime-type = image/png

Added: websites/staging/isis/trunk/content/intro/tutorials/resources/petclinic/030-01-idea-configuration-updated.png
==============================================================================
Binary file - no diff available.

Propchange: websites/staging/isis/trunk/content/intro/tutorials/resources/petclinic/030-01-idea-configuration-updated.png
------------------------------------------------------------------------------
    svn:mime-type = image/png

Added: websites/staging/isis/trunk/content/intro/tutorials/resources/petclinic/030-02-updated-app.png
==============================================================================
Binary file - no diff available.

Propchange: websites/staging/isis/trunk/content/intro/tutorials/resources/petclinic/030-02-updated-app.png
------------------------------------------------------------------------------
    svn:mime-type = image/png

Added: websites/staging/isis/trunk/content/intro/tutorials/resources/petclinic/040-01-idea-configuration-updated.png
==============================================================================
Binary file - no diff available.

Propchange: websites/staging/isis/trunk/content/intro/tutorials/resources/petclinic/040-01-idea-configuration-updated.png
------------------------------------------------------------------------------
    svn:mime-type = image/png

Modified: websites/staging/isis/trunk/content/intro/tutorials/step-by-step-petclinic.html
==============================================================================
--- websites/staging/isis/trunk/content/intro/tutorials/step-by-step-petclinic.html (original)
+++ websites/staging/isis/trunk/content/intro/tutorials/step-by-step-petclinic.html Wed Dec 31 11:20:54 2014
@@ -429,6 +429,19 @@
 A step-by-step tutorial to building a petclinic application using Apache Isis.
 </div></p>
 
+<p>This tutorial builds a simple petclinic application, consisting of just three domain classes:</p>
+
+<p><img src="http://yuml.me/a070d071" alt="" /></p>
+
+<p>The above diagram was built using <a href="http://yuml.me]">yuml.me</a>; the DSL that defines this diagram is:</p>
+
+<pre>
+[Visit|-checkIn:DateTime;-checkout:DateTime;-diagnosis:String|+checkin();+checkout();+addNote(){bg:pink}]->[Pet|-name:String;-species:PetSpecies{bg:green}]
+[Owner|-firstName:String;-lastName:String{bg:green}]<0..1-0..*>[Pet]
+</pre>
+
+<p>Either follow along or check out the tags from the corresponding <a href="https://github.com/danhaywood/isis-app-petclinic">github repo</a>.</p>
+
 <h2>Prerequisites</h2>
 
 <p>You'll need:</p>
@@ -460,6 +473,11 @@ A step-by-step tutorial to building a pe
 rmdir petclinic
 </code></pre>
 
+<blockquote>
+  <p>checkpoint:
+  https://github.com/danhaywood/isis-app-petclinic/commit/249abe476797438d83faa12ff88365da2c362451</p>
+</blockquote>
+
 <h2>Build and run</h2>
 
 <p>Start off by building the app from the command line:</p>
@@ -481,102 +499,122 @@ rmdir petclinic
 
 <p>This will accomplish the same thing, though the webapp is mounted at a slightly different URL</p>
 
-<!--
-
-
-e10e2c2806551ae3a23759d543a84535
-
-
-
-Navigate to the Wicket UI (eg http://localhost:8080/wicket), and login (sven/pass).
-
-Once at the home page:
-
-
-
-1a7685d0ca6b6e7b480bdfad1dadb885
-
-
-Go back to the splash screen, and quit the app.  Note that the database runs in-memory (using HSQLDB) so any data created will be lost between runs.
-
-
-
-
-
-6eb65083156eef1466c4a900c950f8f8
-
-
-
-Set up an IDE and import the project to be able to run and debug the app
-
-To configure the app, use these links:
-
-
-
-71f1e6a2d60c7a0366e9c365d1e899c7
-
-
-Then set up a launch configuration and check that you can:
-
-
-
-bb13b9f9f31fa75e2b5cc77eb978798c
-
-
+<h2>Using the app</h2>
 
+<p>Navigate to the Wicket UI (eg http://localhost:8080/wicket), and login (sven/pass).</p>
 
-93015badc508226d666c59349dfcf63c
-
-
-
-Apache Isis applications are organized into several Maven modules.  Within your IDE navigate to the various classes and correlate back to the generated UI:
-
-
-
-a73a33e26e150f7957225da723a1c359
-
-
-
-
-676ce6f0eaac8ed78054908ee18ee6f0
-
-
-
-Testing is of course massively important, and Isis makes both unit testing and (end-to-end) integration testing easy.  Building the app from the Maven command line ("mvn clean install") will run all tests, but you should also run the tests from within the IDE.
-
-
-
-5aa1394e8e605a1065e6210c8e1711bd
+<p>Once at the home page:</p>
 
+<ul>
+<li>install fixtures</li>
+<li>list all objects</li>
+<li>create a new object</li>
+<li>list all objects</li>
+</ul>
 
-If you have issues with the integration tests, make sure that the domain classes have been enhanced by the DataNucleus enhancer.  (The exact mechanics depends on the IDE being used).
+<p>Go back to the splash screen, and quit the app.  Note that the database runs in-memory (using HSQLDB) so any data created will be lost between runs.</p>
 
+<h2>Dev environment</h2>
 
+<p>Set up an IDE and import the project to be able to run and debug the app</p>
 
+<p>To configure the app, use these links:</p>
 
+<ul>
+<li>IDE:
+<ul>
+<li>configure <a href="http://isis.apache.org/intro/getting-started/ide/intellij.html">IntelliJ</a>, import app</li>
+<li>configure <a href="http://isis.apache.org/intro/getting-started/ide/eclipse.html">Eclipse</a>, import app</li>
+</ul></li>
+<li>Set up IDE <a href="http://isis.apache.org/intro/resources/editor-templates.html">editor templates</a></li>
+</ul>
 
-10d080a0969782ce9927812b8518d6cd
+<p>Then set up a launch configuration and check that you can:</p>
 
+<ul>
+<li>Run the app from within the IDE</li>
+<li>Run the app in debug mode</li>
+<li>Run with different deploymentTypes; note whether <code>@Prototype</code> actions are available or not:
+<ul>
+<li><code>--type SERVER_PROTOTYPE</code></li>
+<li><code>--type SERVER</code></li>
+</ul></li>
+</ul>
 
+<h2>Explore codebase</h2>
 
-Although testing is important, in this tutorial we want to concentrate on how to write features and to iterate quickly.  So for now, exclude the `integtests` module.  Later on in the tutorial we'll add the tests back in so you can learn how to write automated tests for the features of your app.
+<p>Apache Isis applications are organized into several Maven modules.  Within your IDE navigate to the various classes and correlate back to the generated UI:</p>
 
-In the parent `pom.xml`:
+<ul>
+<li><code>petclinic</code> : parent module</li>
+<li><code>petclinic-dom</code>: domain objects module
+<ul>
+<li>entity: <code>dom.simple.SimpleObject</code></li>
+<li>repository: <code>dom.simple.SimpleObjects</code></li>
+</ul></li>
+<li><code>petclinic-fixture</code>: fixtures module
+<ul>
+<li>fixture script:<code>fixture.simple.SimpleObjectsFixture</code></li>
+</ul></li>
+<li><code>petclinic-integtests</code>: integration tests module</li>
+<li><code>petclinic-webapp</code>: webapp module
+<ul>
+<li>(builds the WAR file)</li>
+</ul></li>
+</ul>
 
+<h2>Testing</h2>
 
+<p>Testing is of course massively important, and Isis makes both unit testing and (end-to-end) integration testing easy.  Building the app from the Maven command line ("mvn clean install") will run all tests, but you should also run the tests from within the IDE.</p>
 
-219291bc01c4eaf50ad00782b7166d71
+<ul>
+<li><code>myapp-dom</code> unit tests
+<ul>
+<li>run </li>
+<li>inspect, eg
+<ul>
+<li><code>SimpleObjectTest</code></li>
+</ul></li>
+</ul></li>
+<li><code>myapp-integtests</code> integration tests
+<ul>
+<li>run</li>
+<li>inspect, eg: 
+<ul>
+<li><code>integration.tests.smoke.SimpleObjectsTest</code></li>
+<li><code>integration.specs.simple.SimpleObjectSpec_listAllAndCreate.feature</code></li>
+</ul></li>
+<li>generated report, eg
+<ul>
+<li><code>myapp/integtests/target/cucumber-html-report/index.html</code></li>
+</ul></li>
+<li>change test in IDE, re-run (in Maven)   </li>
+</ul></li>
+</ul>
 
+<p>If you have issues with the integration tests, make sure that the domain classes have been enhanced by the DataNucleus enhancer.  (The exact mechanics depends on the IDE being used).</p>
 
+<h2>Update POM files</h2>
 
-change to:
+<p>The generated POM files use describe the app as "SimpleApp".  Update them to say "PetClinic".</p>
 
+<p>edit:</p>
 
+<blockquote>
+  <p>checkpoint:
+  https://github.com/danhaywood/isis-app-petclinic/commit/68904752bc2de9ebb3c853b79236df2b3ad2c944</p>
+</blockquote>
 
-47b6922a7d6cc7e717c1b15312a36eac
+<h2>Delete the BDD specs</h2>
 
+<p>During this tutorial we're going to keep the integration tests in-sync with the code, but we're going to stop short of writing BDD/Cucumber specs.</p>
 
+<blockquote>
+  <p>checkpoint:
+  https://github.com/danhaywood/isis-app-petclinic/commit/68904752bc2de9ebb3c853b79236df2b3ad2c944</p>
+</blockquote>
 
+<!--
 
 
 6364d75fe7930e9184b19eae396ce1a7