Author: danhaywood
Date: Mon Nov 26 15:52:12 2012
New Revision: 1413690

URL: http://svn.apache.org/viewvc?rev=1413690&view=rev
Log:
working on isis documentation page

Modified:
    isis/site/trunk/content/getting-started/quickstart-archetype.md

Modified: isis/site/trunk/content/getting-started/quickstart-archetype.md
URL: 
http://svn.apache.org/viewvc/isis/site/trunk/content/getting-started/quickstart-archetype.md?rev=1413690&r1=1413689&r2=1413690&view=diff
==============================================================================
--- isis/site/trunk/content/getting-started/quickstart-archetype.md (original)
+++ isis/site/trunk/content/getting-started/quickstart-archetype.md Mon Nov 26 
15:52:12 2012
@@ -1,9 +1,88 @@
 Title: Quickstart Archetype
 
-{stub
-This page is a stub.
-}
+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.
 
-Isis graduated from the Apache incubator in October 2012; we are currently 
setting ourselves up as a top-level project.
+### Generating the App
 
-In the meantime you can access our original incubator website 
[here](http://incubator.apache.org/isis "Apache Isis (incubator website)").
+Create a new directory, and `cd` into that directory.
+
+Then run the following command:
+
+<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>
+where:
+
+- `groupId` represents your own organization, and
+- `artifactId` is a unique identifier for this app within your organization.
+
+You'll then be prompted for some further properties; you can generally leave 
these as the default:
+
+- enter a version, eg `1.0-SNAPSHOT`
+- enter a package
+- confirm the entry
+
+The archetype generation process will then run; it only takes a few seconds.
+
+### Building the App
+
+Switch into the root directory of your newly generated app, and build your app:
+
+<pre>
+cd myapp
+mvn clean install
+</pre>
+
+where `myapp` is the `artifactId` entered above.
+
+### Running the App
+
+Once you've built the app, you can run it in a variety of ways.
+
+The first is to simply deploying the generated WAR 
(`webapp/target/myapp-webapp-1.0-SNAPSHOT.war`) to a servlet container.
+
+Alternatively, you could run the WAR in a Maven-hosted Jetty instance, using:
+
+<pre>
+mvn jetty:run
+</pre>
+
+If you do this, note that the context path changes; check the console output.
+
+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:
+
+<pre>
+java -jar webapp/target/myapp-webapp-1.0-SNAPSHOT-jetty-console.war
+</pre>
+
+This can also be accomplished using an embedded Ant target provided in the 
build script:
+
+<pre>
+mvn antrun:run
+</pre>
+
+### Using the App
+
+The app itself is configured to run using basic security, as configured in the 
`security_file.passwords` config file.  to log in, use `sven/pass`.
+
+### App Structure
+
+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 `ToDoItem` to `Customer`) without having to 
waste time deleting lots of generated code.
+
+<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>
+
+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 [users 
mailing list](../support.html).
\ No newline at end of file


Reply via email to