Author: buildbot
Date: Tue Nov 18 22:57:06 2014
New Revision: 929701

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/tutorials/apacheconeu-2014.html

Propchange: websites/staging/isis/trunk/cgi-bin/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Tue Nov 18 22:57:06 2014
@@ -1 +1 @@
-1640442
+1640449

Propchange: websites/staging/isis/trunk/content/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Tue Nov 18 22:57:06 2014
@@ -1 +1 @@
-1640442
+1640449

Modified: websites/staging/isis/trunk/content/tutorials/apacheconeu-2014.html
==============================================================================
--- websites/staging/isis/trunk/content/tutorials/apacheconeu-2014.html 
(original)
+++ websites/staging/isis/trunk/content/tutorials/apacheconeu-2014.html Tue Nov 
18 22:57:06 2014
@@ -601,19 +601,22 @@ mvn clean install
 <li>review <code>listAll</code> action (acting as a repository)
 <ul>
 <li>as per our <a 
href="http://isis.apache.org/how-tos/how-to-09-040-How-to-write-a-custom-repository.html";>docs</a></li>
-<li>note the annotations on the corresponding domain class 
(<code>SimpleObject</code> above, probably renamed by now)</li>
+<li>note the annotations on the corresponding domain class (originally called 
<code>SimpleObject</code>, though renamed by now)</li>
 </ul></li>
 <li>note the <code>@DomainService</code> annotation</li>
 </ul>
 
 <h2>Fixture scripts</h2>
 
+<p>Fixture scripts are used to setup the app into a known state.  They are 
great for demo's and as a time-saver when implementing a feature, and they can 
also be reused in automated integration tests.  We usually also have a fixture 
script to zap all the (non-reference) data (or some logical subset of the 
data)</p>
+
 <ul>
 <li>rename the <code>SimpleObjectsTearDownFixture</code> class
 <ul>
-<li>and update</li>
+<li>and update to delete from the appropriate underlying database table(s)</li>
+<li>use the injected <a 
href="http://isis.apache.org/components/objectstores/jdo/services/isisjdosupport-service.html";>IsisJdoSupport</a>
 domain service.</li>
 </ul></li>
-<li>create for domain classes
+<li>update to create new instances of domain entity
 <ul>
 <li>inject in the corresponding domain service</li>
 </ul></li>
@@ -621,8 +624,10 @@ mvn clean install
 
 <h2>Actions</h2>
 
+<p>Most business functionality is implemented using actions... basically a 
<code>public</code> method accepting domain classes and primitives as its 
parameter types.</p>
+
 <ul>
-<li>update the domain action (<code>SimpleObject#name</code> above, renamed by 
now)</li>
+<li>write an action to update the domain property (originally called 
<code>SimpleObject#name</code>, though renamed by now)</li>
 <li>use the <a 
href="http://isis.apache.org/reference/recognized-annotations/Named.html";>@Named</a>
 annotation to specify the name of action parameters</li>
 <li>use <a 
href="http://isis.apache.org/reference/recognized-annotations/ActionSemantics.html";>@ActionSemantics</a>
 annotation to indicate the semantics of the action (safe/query-only, 
idempotent or non-idempotent)</li>
 <li>annotate safe action as <a 
href="http://isis.apache.org/reference/recognized-annotations/Bookmarkable.html";>@Bookmarkable</a>
 
@@ -633,6 +638,8 @@ mvn clean install
 
 <h2>REST API</h2>
 
+<p>As well as exposing the Wicket viewer, Isis also exposes a REST API (an 
implementation of the <a href="http://restfulobjects.org";>Restful Objects 
spec</a>).  All of the functionality of the domain object model is available 
through this REST API.</p>
+
 <ul>
 <li>add Chrome extensions
 <ul>
@@ -641,15 +648,23 @@ mvn clean install
 </ul></li>
 <li>browse to Wicket viewer, install fixtures</li>
 <li>browse to the http://localhost:8080/restful API</li>
-<li>invoke the service to list all objects</li>
+<li>invoke the service to list all objects
+<ul>
+<li>services</li>
+<li>actions</li>
+<li>invoke (invoking 0-arg actions is easy; the Restful Objects spec defines 
how to invoke N-arg actions)</li>
+</ul></li>
 </ul>
 
 <h2>Specify Action semantics</h2>
 
+<p>The semantics of an action (whether it is safe/query only, whether it is 
idempotent, whether it is neither) can be specified for each action; if not 
specified then Isis assumes non-idempotent.  In the Wicket viewer this matters 
in that only query-only actions can be bookmarked or used as contributed 
properties/collections.  In the RESTful viewer this matters in that it 
determines the HTTP verb (GET, PUT or POST) that is used to invoke the 
action.</p>
+
 <ul>
 <li>experiment changing [@ActionSemantics] on actions
 <ul>
 <li>note the HTTP methods exposed in the REST API change</li>
+<li>note whether the action is bookmarkable (assuming that it has been 
annotated with <code>@Bookmarkable</code>, that is).</li>
 </ul></li>
 </ul>
 


Reply via email to