Author: buildbot
Date: Mon Nov 26 15:52:18 2012
New Revision: 839620
Log:
Staging update by buildbot for isis
Modified:
websites/staging/isis/trunk/cgi-bin/ (props changed)
websites/staging/isis/trunk/content/ (props changed)
websites/staging/isis/trunk/content/getting-started/quickstart-archetype.html
Propchange: websites/staging/isis/trunk/cgi-bin/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Mon Nov 26 15:52:18 2012
@@ -1 +1 @@
-1413672
+1413691
Propchange: websites/staging/isis/trunk/content/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Mon Nov 26 15:52:18 2012
@@ -1 +1 @@
-1413672
+1413691
Modified:
websites/staging/isis/trunk/content/getting-started/quickstart-archetype.html
==============================================================================
---
websites/staging/isis/trunk/content/getting-started/quickstart-archetype.html
(original)
+++
websites/staging/isis/trunk/content/getting-started/quickstart-archetype.html
Mon Nov 26 15:52:18 2012
@@ -188,13 +188,97 @@
</h1>
</div>
-<p><div class="stub">
-This page is a stub.
-</div></p>
+<p>The quickest way to get started with Apache Isis is to run the quickstart
archetype. This will generate a simple one-class domain model, for tracking
to-do items. The intention is not to showcase all of Isis' capabilities;
rather it is to allow you to very easily modify the generated app to your own
domain.</p>
-<p>Isis graduated from the Apache incubator in October 2012; we are currently
setting ourselves up as a top-level project.</p>
+<h3>Generating the App</h3>
-<p>In the meantime you can access our original incubator website <a
href="http://incubator.apache.org/isis" title="Apache Isis (incubator
website)">here</a>.</p>
+<p>Create a new directory, and <code>cd</code> into that directory.</p>
+
+<p>Then run the following command:</p>
+
+<pre>
+mvn archetype:generate \
+ -D archetypeGroupId=org.apache.isis \
+ -D archetypeArtifactId=quickstart-archetype \
+ -D archetypeVersion=0.2.0-incubating \
+ -D groupId=com.mycompany \
+ -D artifactId=myapp
+</pre>
+
+<p>where:</p>
+
+<ul>
+<li><code>groupId</code> represents your own organization, and</li>
+<li><code>artifactId</code> is a unique identifier for this app within your
organization.</li>
+</ul>
+
+<p>You'll then be prompted for some further properties; you can generally
leave these as the default:</p>
+
+<ul>
+<li>enter a version, eg <code>1.0-SNAPSHOT</code></li>
+<li>enter a package</li>
+<li>confirm the entry</li>
+</ul>
+
+<p>The archetype generation process will then run; it only takes a few
seconds.</p>
+
+<h3>Building the App</h3>
+
+<p>Switch into the root directory of your newly generated app, and build your
app:</p>
+
+<pre>
+cd myapp
+mvn clean install
+</pre>
+
+<p>where <code>myapp</code> is the <code>artifactId</code> entered above.</p>
+
+<h3>Running the App</h3>
+
+<p>Once you've built the app, you can run it in a variety of ways.</p>
+
+<p>The first is to simply deploying the generated WAR
(<code>webapp/target/myapp-webapp-1.0-SNAPSHOT.war</code>) to a servlet
container.</p>
+
+<p>Alternatively, you could run the WAR in a Maven-hosted Jetty instance,
using:</p>
+
+<pre>
+mvn jetty:run
+</pre>
+
+<p>If you do this, note that the context path changes; check the console
output.</p>
+
+<p>In addition to the standard WAR< the archetype also builds a self-hosted
version of the WAR. You can therefore also simply run the WAR as a standalone
app:</p>
+
+<pre>
+java -jar webapp/target/myapp-webapp-1.0-SNAPSHOT-jetty-console.war
+</pre>
+
+<p>This can also be accomplished using an embedded Ant target provided in the
build script:</p>
+
+<pre>
+mvn antrun:run
+</pre>
+
+<h3>Using the App</h3>
+
+<p>The app itself is configured to run using basic security, as configured in
the <code>security_file.passwords</code> config file. to log in, use
<code>sven/pass</code>.</p>
+
+<h3>App Structure</h3>
+
+<p>As noted above, the generated app is a very simple application consisting
of a single domain object for tracking to-do items. The intention is not to
showcase all of Isis' capabilities; rather it is to allow you to very easily
modify the generated application (eg rename <code>ToDoItem</code> to
<code>Customer</code>) without having to waste time deleting lots of generated
code.</p>
+
+<table>
+<tr><th>Module</th><th>Description</th></tr>
+<tr><td>myapp</td><td>The parent (aggregator) module</td></tr>
+<tr><td>myapp-dom</td><td>The domain object model, consisting of
<tt>ToDoItem</tt> and <tt>ToDoItems</tt> (repository) interface.</td></tr>
+<tr><td>myapp-fixture</td><td>Domain object fixtures used for initializing the
system when being demo'ed or for unit testing.</td></tr>
+<tr><td>myapp-objstore-dflt</td><td>Implementation of <tt>ToDoItems</tt>
repository, for the default (in-memory) object store.</td></tr>
+<tr><td>myapp-webapp </td><td>Run as a webapp (from <tt>web.xml</tt>) using
either the HTML viewer or the JSON (RESTful) viewer</td></tr>
+<tr><td>myapp-tests-bdd</td><td>Run domain object tests using Isis'
integration with the Concordion BDD framework.</td></tr>
+<tr><td>myapp-tests-junit</td><td>Run domain object tests using Isis' custom
test runner for JUnit runner</td></tr>
+</table>
+
+<p>The most significant omission with the generated application is that it is
configured only to support the default in-memory object store. What this means
is that any changes you make to objects will not be persisted between runs. If
you'd like to use other viewers and object stores, ask for help on the <a
href="../support.html">users mailing list</a>.</p>