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 2013/06/07 19:55:59 UTC

svn commit: r864737 - in /websites/staging/isis/trunk: cgi-bin/ content/ content/components/objectstores/jdo/ content/components/security/shiro/ content/components/viewers/restfulobjects/ content/core/ content/core/services/

Author: buildbot
Date: Fri Jun  7 17:55:59 2013
New Revision: 864737

Log:
Staging update by buildbot for isis

Added:
    websites/staging/isis/trunk/content/components/objectstores/jdo/settings-services-jdo.html
    websites/staging/isis/trunk/content/core/services/settings-services.html
Modified:
    websites/staging/isis/trunk/cgi-bin/   (props changed)
    websites/staging/isis/trunk/content/   (props changed)
    websites/staging/isis/trunk/content/components/objectstores/jdo/about.html
    websites/staging/isis/trunk/content/components/objectstores/jdo/auditing-service-jdo.html
    websites/staging/isis/trunk/content/components/objectstores/jdo/eagerly-registering-entities.html
    websites/staging/isis/trunk/content/components/objectstores/jdo/exception-recognizers-jdo.html
    websites/staging/isis/trunk/content/components/objectstores/jdo/publishing-service-jdo.html
    websites/staging/isis/trunk/content/components/objectstores/jdo/using-jndi-datasource.html
    websites/staging/isis/trunk/content/components/objectstores/jdo/workarounds.html
    websites/staging/isis/trunk/content/components/security/shiro/using-ldap.html
    websites/staging/isis/trunk/content/components/viewers/restfulobjects/about.html
    websites/staging/isis/trunk/content/components/viewers/restfulobjects/event-serializer-rospec.html
    websites/staging/isis/trunk/content/core/unittestsupport.html
    websites/staging/isis/trunk/content/documentation.html

Propchange: websites/staging/isis/trunk/cgi-bin/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Fri Jun  7 17:55:59 2013
@@ -1 +1 @@
-1490239
+1490755

Propchange: websites/staging/isis/trunk/content/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Fri Jun  7 17:55:59 2013
@@ -1 +1 @@
-1490239
+1490755

Modified: websites/staging/isis/trunk/content/components/objectstores/jdo/about.html
==============================================================================
--- websites/staging/isis/trunk/content/components/objectstores/jdo/about.html (original)
+++ websites/staging/isis/trunk/content/components/objectstores/jdo/about.html Fri Jun  7 17:55:59 2013
@@ -259,8 +259,8 @@
 <ul>
 <li><a href="maven-and-eclipse.html">Maven and Eclipse</a></li>
 <li><a href="dates-blobs-lazy-loading.html">Dates, Blobs and Lazy Loading</a></li>
-<li><a href="using-jndi-datasource.html">Using a JNDI Datasource</a> [1.1.0-SNAPSHOT]</li>
-<li><a href="workarounds.html">Workarounds (the <code>IsisJdoSupport</code> service)</a> [1.1.0-SNAPSHOT]</li>
+<li><a href="using-jndi-datasource.html">Using a JNDI Datasource</a></li>
+<li><a href="workarounds.html">Workarounds (the <code>IsisJdoSupport</code> service)</a></li>
 <li><a href="enabling-logging.html">Enabling Logging</a></li>
 <li><a href="deploying-on-the-google-app-engine.html">Deploying on the Google App Engine</a></li>
 </ul>
@@ -268,10 +268,11 @@
 <h3>Applib Service Implementations:</h3>
 
 <ul>
-<li><a href="eagerly-registering-entities.html">Eagerly Registering Entities</a> [1.1.0-SNAPSHOT]</li>
-<li><a href="publishing-service-jdo.html">Publishing Service on JDO</a> [1.1.0-SNAPSHOT]</li>
-<li><a href="auditing-service-jdo.html">Auditing Service on JDO</a> [1.1.0-SNAPSHOT]</li>
-<li><a href="exception-recognizers-jdo.html">Exception Recognizers</a> [1.1.0-SNAPSHOT]</li>
+<li><a href="eagerly-registering-entities.html">Eagerly Registering Entities</a></li>
+<li><a href="publishing-service-jdo.html">Publishing Service on JDO</a></li>
+<li><a href="auditing-service-jdo.html">Auditing Service on JDO</a></li>
+<li><a href="exception-recognizers-jdo.html">Exception Recognizers</a></li>
+<li><a href="settings-services-jdo.html">Settings Services</a> [jdo-1.2.0-SNAPSHOT]</li>
 </ul>
 
 <h3>Releases</h3>

Modified: websites/staging/isis/trunk/content/components/objectstores/jdo/auditing-service-jdo.html
==============================================================================
--- websites/staging/isis/trunk/content/components/objectstores/jdo/auditing-service-jdo.html (original)
+++ websites/staging/isis/trunk/content/components/objectstores/jdo/auditing-service-jdo.html Fri Jun  7 17:55:59 2013
@@ -3,7 +3,7 @@
   <head>
 
     <meta charset="utf-8">
-      <title>Auditing Service using JDO [1.1.0-SNAPSHOT]</title>
+      <title>Auditing Service using JDO</title>
     <meta name="description" content="">
     <meta name="author" content="">
 
@@ -111,7 +111,7 @@
       };
       function twshare () {
           window.open(
-                  "https://twitter.com/intent/tweet?url="+document.URL+"&text=Auditing Service using JDO [1.1.0-SNAPSHOT]",
+                  "https://twitter.com/intent/tweet?url="+document.URL+"&text=Auditing Service using JDO",
                   'Share on Twitter',
                   'width=800,height=526');
       };
@@ -247,7 +247,7 @@
 
 <div class="page-header">
 <p><a href="./../../../documentation.html">Docs</a>&nbsp;&raquo&nbsp;<a href="./../../../components/about.html">Components</a>&nbsp;&raquo&nbsp;<a href="./../../../components/objectstores/about.html">Objectstores</a>&nbsp;&raquo&nbsp;<a href="./../../../components/objectstores/jdo/about.html">Jdo</a></p>
-<h1>Auditing Service using JDO [1.1.0-SNAPSHOT]
+<h1>Auditing Service using JDO
 
 </h1>
 </div>

Modified: websites/staging/isis/trunk/content/components/objectstores/jdo/eagerly-registering-entities.html
==============================================================================
--- websites/staging/isis/trunk/content/components/objectstores/jdo/eagerly-registering-entities.html (original)
+++ websites/staging/isis/trunk/content/components/objectstores/jdo/eagerly-registering-entities.html Fri Jun  7 17:55:59 2013
@@ -3,7 +3,7 @@
   <head>
 
     <meta charset="utf-8">
-      <title>Eagerly Registering Entity Types [1.1.0-SNAPSHOT]</title>
+      <title>Eagerly Registering Entity Types</title>
     <meta name="description" content="">
     <meta name="author" content="">
 
@@ -111,7 +111,7 @@
       };
       function twshare () {
           window.open(
-                  "https://twitter.com/intent/tweet?url="+document.URL+"&text=Eagerly Registering Entity Types [1.1.0-SNAPSHOT]",
+                  "https://twitter.com/intent/tweet?url="+document.URL+"&text=Eagerly Registering Entity Types",
                   'Share on Twitter',
                   'width=800,height=526');
       };
@@ -247,7 +247,7 @@
 
 <div class="page-header">
 <p><a href="./../../../documentation.html">Docs</a>&nbsp;&raquo&nbsp;<a href="./../../../components/about.html">Components</a>&nbsp;&raquo&nbsp;<a href="./../../../components/objectstores/about.html">Objectstores</a>&nbsp;&raquo&nbsp;<a href="./../../../components/objectstores/jdo/about.html">Jdo</a></p>
-<h1>Eagerly Registering Entity Types [1.1.0-SNAPSHOT]
+<h1>Eagerly Registering Entity Types
 
 </h1>
 </div>

Modified: websites/staging/isis/trunk/content/components/objectstores/jdo/exception-recognizers-jdo.html
==============================================================================
--- websites/staging/isis/trunk/content/components/objectstores/jdo/exception-recognizers-jdo.html (original)
+++ websites/staging/isis/trunk/content/components/objectstores/jdo/exception-recognizers-jdo.html Fri Jun  7 17:55:59 2013
@@ -3,7 +3,7 @@
   <head>
 
     <meta charset="utf-8">
-      <title>Exception Recognizers [1.1.0-SNAPSHOT]</title>
+      <title>Exception Recognizers</title>
     <meta name="description" content="">
     <meta name="author" content="">
 
@@ -111,7 +111,7 @@
       };
       function twshare () {
           window.open(
-                  "https://twitter.com/intent/tweet?url="+document.URL+"&text=Exception Recognizers [1.1.0-SNAPSHOT]",
+                  "https://twitter.com/intent/tweet?url="+document.URL+"&text=Exception Recognizers",
                   'Share on Twitter',
                   'width=800,height=526');
       };
@@ -247,7 +247,7 @@
 
 <div class="page-header">
 <p><a href="./../../../documentation.html">Docs</a>&nbsp;&raquo&nbsp;<a href="./../../../components/about.html">Components</a>&nbsp;&raquo&nbsp;<a href="./../../../components/objectstores/about.html">Objectstores</a>&nbsp;&raquo&nbsp;<a href="./../../../components/objectstores/jdo/about.html">Jdo</a></p>
-<h1>Exception Recognizers [1.1.0-SNAPSHOT]
+<h1>Exception Recognizers
 
 </h1>
 </div>

Modified: websites/staging/isis/trunk/content/components/objectstores/jdo/publishing-service-jdo.html
==============================================================================
--- websites/staging/isis/trunk/content/components/objectstores/jdo/publishing-service-jdo.html (original)
+++ websites/staging/isis/trunk/content/components/objectstores/jdo/publishing-service-jdo.html Fri Jun  7 17:55:59 2013
@@ -3,7 +3,7 @@
   <head>
 
     <meta charset="utf-8">
-      <title>Publishing Service using JDO [1.1.0-SNAPSHOT]</title>
+      <title>Publishing Service using JDO</title>
     <meta name="description" content="">
     <meta name="author" content="">
 
@@ -111,7 +111,7 @@
       };
       function twshare () {
           window.open(
-                  "https://twitter.com/intent/tweet?url="+document.URL+"&text=Publishing Service using JDO [1.1.0-SNAPSHOT]",
+                  "https://twitter.com/intent/tweet?url="+document.URL+"&text=Publishing Service using JDO",
                   'Share on Twitter',
                   'width=800,height=526');
       };
@@ -247,7 +247,7 @@
 
 <div class="page-header">
 <p><a href="./../../../documentation.html">Docs</a>&nbsp;&raquo&nbsp;<a href="./../../../components/about.html">Components</a>&nbsp;&raquo&nbsp;<a href="./../../../components/objectstores/about.html">Objectstores</a>&nbsp;&raquo&nbsp;<a href="./../../../components/objectstores/jdo/about.html">Jdo</a></p>
-<h1>Publishing Service using JDO [1.1.0-SNAPSHOT]
+<h1>Publishing Service using JDO
 
 </h1>
 </div>

Added: websites/staging/isis/trunk/content/components/objectstores/jdo/settings-services-jdo.html
==============================================================================
--- websites/staging/isis/trunk/content/components/objectstores/jdo/settings-services-jdo.html (added)
+++ websites/staging/isis/trunk/content/components/objectstores/jdo/settings-services-jdo.html Fri Jun  7 17:55:59 2013
@@ -0,0 +1,325 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+
+    <meta charset="utf-8">
+      <title>Settings Services using JDO [jdo-1.2.0-SNAPSHOT]</title>
+    <meta name="description" content="">
+    <meta name="author" content="">
+
+    <!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
+    <!--[if lt IE 9]>
+      <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
+    <![endif]-->
+
+    <!-- Le styles -->
+    <link href="./../../../bootstrap.css" rel="stylesheet">
+    <link href="./../../../prettify.css" rel="stylesheet">
+
+    <style type="text/css">
+        body {
+          padding-top: 60px;
+        }
+        .sprite {
+            display: inline-block;
+            height: 20px;
+            margin: 0 auto 4px;
+            outline: medium none;
+            text-indent: -999em;
+            width: 24px;
+            background-image: url('./../../../images/sprites.png');
+            background-repeat: no-repeat;
+            overflow: hidden;
+            cursor: pointer;
+        }
+        .edit-page {
+            display: inline-block;
+            height: 20px;
+            margin: 0 auto 4px;
+            outline: medium none;
+            text-indent: -999em;
+            width: 24px;
+            background-image: url('./../../../images/edit.png');
+            background-repeat: no-repeat;
+            overflow: hidden;
+            cursor: pointer;
+        }
+        .fb-share {
+            background-position: 0px -40px;
+        }
+        .gp-share {
+            background-position: 0px 0px;
+        }
+        .tw-share {
+            background-position: 0px -80px;
+        }
+        .markdown-content {
+            min-height: 500px;
+        }
+        .book-image img {
+          border: 1px;
+          border-style: solid;
+        }
+        .release-matrix .heading {
+            background-color: #eeeeee;
+        }
+        .release-matrix .new {
+            color: #dd0000;
+            font-weight: bolder;
+        }
+        .stub,.note {
+            position: relative;
+            padding: 7px 15px;
+            margin-bottom: 18px;
+            color: #404040;
+            background-color: #eedc94;
+            background-repeat: repeat-x;
+            background-image: -khtml-gradient(linear, left top, left bottom, from(#fceec1), to(#eedc94));
+            background-image: -moz-linear-gradient(top, #fceec1, #eedc94);
+            background-image: -ms-linear-gradient(top, #fceec1, #eedc94);
+            background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #fceec1), color-stop(100%, #eedc94));
+            background-image: -webkit-linear-gradient(top, #fceec1, #eedc94);
+            background-image: -o-linear-gradient(top, #fceec1, #eedc94);
+            background-image: linear-gradient(top, #fceec1, #eedc94);
+            filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fceec1', endColorstr='#eedc94', GradientType=0);
+            text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
+            border-color: #eedc94 #eedc94 #e4c652;
+            border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
+            text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
+            border-width: 1px;
+            border-style: solid;
+            -webkit-border-radius: 4px;
+            -moz-border-radius: 4px;
+            border-radius: 4px;
+            -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25);
+            -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25);
+            box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25);
+        }
+    </style>
+    <script type="text/javascript">
+      function fbshare () {
+          window.open(
+                  "http://www.facebook.com/sharer/sharer.php?u="+document.URL,
+                  'Share on Facebook',
+                  'width=640,height=426');
+      };
+      function gpshare () {
+          window.open(
+                  "https://plus.google.com/share?url="+document.URL,
+                  'Share on Google+',
+                  'width=584,height=385');
+      };
+      function twshare () {
+          window.open(
+                  "https://twitter.com/intent/tweet?url="+document.URL+"&text=Settings Services using JDO [jdo-1.2.0-SNAPSHOT]",
+                  'Share on Twitter',
+                  'width=800,height=526');
+      };
+    </script>
+
+    <!-- Le fav and touch icons -->
+    <link rel="shortcut icon" href="./../../../images/favicon.ico">
+    <!--
+    <link rel="apple-touch-icon" href="./../../../images/apple-touch-icon.png">
+    <link rel="apple-touch-icon" sizes="72x72" href="./../../../images/apple-touch-icon-72x72.png">
+    <link rel="apple-touch-icon" sizes="114x114" href="./../../../images/apple-touch-icon-114x114.png">
+    -->
+
+    <script src="./../../../javascript/prettify.js" type="text/javascript"></script>
+    <script src="./../../../javascript/jquery-latest.js"></script>
+
+
+    <script src="http://platform.twitter.com/widgets.js" type="text/javascript"></script>
+    <script src="./../../../javascript/common.js"></script>
+    <script src="./../../../javascript/prettyprint.js"></script>
+
+    <script src="./../../../javascript/bootstrap-alert.js"></script>
+    <script src="./../../../javascript/bootstrap-dropdown.js"></script>
+    <script src="./../../../javascript/bootstrap-tooltip.js"></script>
+    <!--
+    <script src="./../../../javascript/bootstrap-alerts.js"></script>
+    -->
+    <script src="./../../../javascript/bootstrap-modal.js"></script>
+    <script src="./../../../javascript/bootstrap-transition.js"></script>
+    <script src="./../../../javascript/bootstrap-button.js"></script>
+    <script src="./../../../javascript/bootstrap-popover.js"></script>
+    <script src="./../../../javascript/bootstrap-scrollspy.js"></script>
+    <script src="./../../../javascript/bootstrap-typeahead.js"></script>
+    <script src="./../../../javascript/bootstrap-carousel.js"></script>
+    <script src="./../../../javascript/bootstrap-tab.js"></script>
+    <script src="./../../../javascript/bootstrap-collapse.js"></script>
+
+    
+    
+    
+
+    <script>
+    $(function () { prettyPrint() })
+    $().dropdown()
+    </script>
+
+    <!-- GAQ stuff removed here -->
+
+
+  </head>
+
+  <body>
+
+    <div class="topbar">
+      <div class="fill">
+        <div class="container">
+          <a class="brand" href="./../../../index.html">Apache Isis&trade;</a>
+          <ul class="nav">
+            <li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Apache <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+                <li>
+                  <a href="http://www.apache.org/">Apache Homepage <i class="icon-share-alt"></i></a>
+                </li>
+                <li>
+                  <a href="http://www.apache.org/licenses/">Licenses <i class="icon-share-alt"></i></a>
+                </li>
+                <li>
+                  <a href="http://www.apache.org/security/">Security <i class="icon-share-alt"></i></a>
+                </li>
+                <li>
+                  <a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship <i class="icon-share-alt"></i></a>
+                </li>
+                <li>
+                  <a href="http://www.apache.org/foundation/thanks.html">Thanks <i class="icon-share-alt"></i></a>
+                </li>
+                <li>
+                  <a href="./../../../more-thanks.html">More thanks <i class="icon-share-alt"></i></a>
+                </li>
+              </ul>
+            </li>
+            <li><a href="./../../../index.html">Home</a></li>
+            <li><a href="./../../../download.html">Download</a></li>
+            <li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Screenshots<b class="caret"></b></a>
+              <ul class="dropdown-menu">
+                <li><a href="./../../../getting-started/screenshots.html">Screenshots</a></li>
+                <li><a href="./../../../getting-started/screencasts.html">Screencasts</a></li>
+                <li><a href="./../../../getting-started/powered-by.html">Powered by</a></li>
+                <!--
+                <li><a href="#">Online Demo</a></li>
+                -->
+              </ul>
+            </li>
+            <li><a href="./../../../documentation.html">Documentation</a></li>
+            <li><a href="./../../../support.html">Support</a></li>
+
+          </ul>
+
+          <!-- Google CSE Search Box Begins -->
+          <div style="float: right; position: relative; ">
+
+          <!--
+              <form action="http://www.google.com/cse" id="cse-search-box" _lpchecked="1">
+                <div>
+                    <input type="hidden" name="cx" value="012614087480249044419:dn-q5gtwxya">
+                    <input type="hidden" name="ie" value="UTF-8">
+                    <input type="text" name="q" placeholder="Search" size="31" style="border: 1px solid rgb(126, 157, 185); padding: 2px; background-color: rgb(255, 255, 255); background-position: 0% 50%; background-repeat: no-repeat no-repeat;">
+                    <input type="submit" name="sa" value="Search">
+                </div>
+                <input name="siteurl" type="hidden" value="isis.apache.org">
+                <input name="ref" type="hidden" value="">
+                <input name="ss" type="hidden" value="677j458329j2">
+            </form>
+          -->
+          
+            <FORM class="pull-right" id="searchbox_012614087480249044419:dn-q5gtwxya" action="http://www.google.com/cse">
+                    <input type="hidden" name="cx" value="012614087480249044419:dn-q5gtwxya">
+                <INPUT type="hidden" name="cof" value="FORID:0">
+                <INPUT name="q" type="text" placeholder="Search">
+            </FORM>
+
+          </div>
+       <!-- Google CSE Search Box Ends -->
+        
+        </div>
+      </div>
+    </div>
+
+    <div class="container">
+      <div class="markdown-content">
+      
+
+<div class="page-header">
+<p><a href="./../../../documentation.html">Docs</a>&nbsp;&raquo&nbsp;<a href="./../../../components/about.html">Components</a>&nbsp;&raquo&nbsp;<a href="./../../../components/objectstores/about.html">Objectstores</a>&nbsp;&raquo&nbsp;<a href="./../../../components/objectstores/jdo/about.html">Jdo</a></p>
+<h1>Settings Services using JDO [jdo-1.2.0-SNAPSHOT]
+
+</h1>
+</div>
+
+<p>The JDO objectstore provides simple implementations of the two applib <a href="../../../core/services/settings-services.html">SettingsServices</a>.</p>
+
+<h2>Application Settings</h2>
+
+<p>In the case of <code>ApplicationSettingsService</code>, the service is implemented by <code>ApplicationSettingsServiceJdo</code>, with the <code>ApplicationSetting</code> interface is implemented by a <code>ApplicationSettingsJdo</code> entity.</p>
+
+<p>The service also provides the ability to create list all existing settings, create new settings (of whichever datatype), update settings, and to delete settings.</p>
+
+<p>These actions can be hidden using security if need be.  </p>
+
+<h2>User Settings</h2>
+
+<p>In the case of <code>UserSettingsService</code>, the service is implemented by <code>UserSettingsServiceJdo</code>, with the <code>UserSetting</code> interface is implemented by a <code>UserSettingsJdo</code> entity.</p>
+
+<p>As for application settings, the user settings service also provides the ability to create list all existing settings, create new settings (of whichever datatype), update settings, and to delete settings.</p>
+
+<p>These actions can be hidden using security if need be.  </p>
+
+<h3>Register the Services</h3>
+
+<p>Register the services as any other service, in <code>isis.properties</code>:</p>
+
+<pre>
+isis.services=<i>...other services...</i>,\
+              org.apache.isis.objectstore.jdo.applib.service.settings.ApplicationSettingsServiceJdo,\
+org.apache.isis.objectstore.jdo.applib.service.settings.UserSettingsServiceJdo,\
+              ...
+</pre>
+
+<p>Assuming that you've also configured Isis to use the JDO objectstore, you should be good to go...</p>
+
+
+
+      </div>
+
+        <div id="edit" class="modal hide fade in" style="display: none; ">
+            <div class="modal-header">
+                <a class="close" data-dismiss="modal">x</a>
+
+                <h3>Thank you for contributing to the documention!</h3>
+            </div>
+            <div class="modal-body">
+                <h4>Any help with the documentation is greatly appreciated.</h4>
+                <p>All edits are reviewed before going live, so feel free to do much more than fix typos or links.  If you see a page that could benefit from an entire rewrite, we'd be thrilled to review it.  Don't be surprised if we like it so much we ask you for help with other pages :)</p>
+                <small>NOTICE: unless indicated otherwise on the pages in question, all editable content available from apache.org is presumed to be licensed under the Apache License (AL) version 2.0 and hence all submissions to apache.org treated as formal Contributions under the license terms.</small>
+                <!--[if gt IE 6]>
+                <h4>Internet Explorer Users</h4>
+                <p>If you are not an Apache committer, click the Yes link and enter a <i>anonymous</i> for the username and leave the password empty</p>
+                <![endif]-->
+
+            </div>
+            <div class="modal-footer">
+                Do you have an Apache ID?
+                <a href="javascript:void(location.href='https://cms.apache.org/redirect?uri='+escape(location.href))" class="btn">Yes</a>
+                <a href="javascript:void(location.href='https://anonymous:@cms.apache.org/redirect?uri='+escape(location.href))" class="btn">No</a>
+            </div>
+        </div>
+        <script src="./../../../javascript/bootstrap-modal.js"></script>
+
+      <footer>
+        <p>
+        Copyright &copy; 2012~2013 The Apache Software Foundation, Licensed under the Apache License, Version 2.0.
+        <br/>
+        Apache Isis, Isis, Apache, the Apache feather logo, and the Apache Isis project logo are trademarks of The Apache Software Foundation.
+        </p>
+      </footer>
+
+    </div> <!-- /container -->
+
+  </body>
+</html>

Modified: websites/staging/isis/trunk/content/components/objectstores/jdo/using-jndi-datasource.html
==============================================================================
--- websites/staging/isis/trunk/content/components/objectstores/jdo/using-jndi-datasource.html (original)
+++ websites/staging/isis/trunk/content/components/objectstores/jdo/using-jndi-datasource.html Fri Jun  7 17:55:59 2013
@@ -3,7 +3,7 @@
   <head>
 
     <meta charset="utf-8">
-      <title>Using JNDI Datasource (1.1.0-SNAPSHOT)</title>
+      <title>Using JNDI Datasource</title>
     <meta name="description" content="">
     <meta name="author" content="">
 
@@ -111,7 +111,7 @@
       };
       function twshare () {
           window.open(
-                  "https://twitter.com/intent/tweet?url="+document.URL+"&text=Using JNDI Datasource (1.1.0-SNAPSHOT)",
+                  "https://twitter.com/intent/tweet?url="+document.URL+"&text=Using JNDI Datasource",
                   'Share on Twitter',
                   'width=800,height=526');
       };
@@ -247,7 +247,7 @@
 
 <div class="page-header">
 <p><a href="./../../../documentation.html">Docs</a>&nbsp;&raquo&nbsp;<a href="./../../../components/about.html">Components</a>&nbsp;&raquo&nbsp;<a href="./../../../components/objectstores/about.html">Objectstores</a>&nbsp;&raquo&nbsp;<a href="./../../../components/objectstores/jdo/about.html">Jdo</a></p>
-<h1>Using JNDI Datasource (1.1.0-SNAPSHOT)
+<h1>Using JNDI Datasource
 
 </h1>
 </div>

Modified: websites/staging/isis/trunk/content/components/objectstores/jdo/workarounds.html
==============================================================================
--- websites/staging/isis/trunk/content/components/objectstores/jdo/workarounds.html (original)
+++ websites/staging/isis/trunk/content/components/objectstores/jdo/workarounds.html Fri Jun  7 17:55:59 2013
@@ -3,7 +3,7 @@
   <head>
 
     <meta charset="utf-8">
-      <title>Workarounds [1.1.0-SNAPSHOT]</title>
+      <title>Workarounds</title>
     <meta name="description" content="">
     <meta name="author" content="">
 
@@ -111,7 +111,7 @@
       };
       function twshare () {
           window.open(
-                  "https://twitter.com/intent/tweet?url="+document.URL+"&text=Workarounds [1.1.0-SNAPSHOT]",
+                  "https://twitter.com/intent/tweet?url="+document.URL+"&text=Workarounds",
                   'Share on Twitter',
                   'width=800,height=526');
       };
@@ -247,37 +247,47 @@
 
 <div class="page-header">
 <p><a href="./../../../documentation.html">Docs</a>&nbsp;&raquo&nbsp;<a href="./../../../components/about.html">Components</a>&nbsp;&raquo&nbsp;<a href="./../../../components/objectstores/about.html">Objectstores</a>&nbsp;&raquo&nbsp;<a href="./../../../components/objectstores/jdo/about.html">Jdo</a></p>
-<h1>Workarounds [1.1.0-SNAPSHOT]
+<h1>Workarounds
 
 </h1>
 </div>
 
-<p>There are a number of limitations in DataNucleus' implementation of JDO, specifically with regard to 1:m bidirectional relationships.  </p>
+<p>The <code>IsisJdoSupport</code> service  provides a number of methods to fill in the gaps either of the Isis framework or of DataNucleus.</p>
 
-<ul>
-<li>loading the children from the parent does not fire the <code>jdoPostLoad</code> callback (either on the entity via <code>javax.jdo.listener.LoadCallback</code> nor <code>javax.jdo.listener.LoadLifecycleListener</code>)</p>
+<h2>Reloading entities</h2>
 
-<p>More precisely, this doesn't occur if the child being loaded has subclasses, and the subclasses has fields/properties that are part of the default fetch group.</li>
-<li>persisting a child entity does not cause the parent's collection to be updated.</p>
+<p>A <a href="http://www.datanucleus.org/products/datanucleus/jdo/orm/relationships.html">known limitation</a> of DataNucleus' implementation of JDO is that persisting a child entity (in a 1:n bidirectional relationship) does not cause the parent's collection to be updated.</p>
 
-<p>Note that this is documented behaviour; see this <a href="http://www.datanucleus.org/products/datanucleus/jdo/orm/relationships.html">DataNucleus page</a>.</li>
-</ul>
+<p>The <code>IsisJdoSupport#refresh(T domainObject)</code> method can be used to reload the parent object (or indeed any object).</p>
 
-<p>The <code>IsisJdoSupport</code> service provides a number of methods to enable workarounds for these cases.</p>
+<p>For example:</p>
 
-<p><em>This page will be updated if we determine that such workarounds are not (or are no longer) required.</em></p>
+<pre><code>public Order newOrder(final Customer customer) {
+    Order order = newTransientInstance(Order.class);
+    order.setCustomer(customer);
+    persist(customer);
+    getContainer().flush(); // to database
+    isisJdoSupport.refresh(customer); // reload parent from database
+    return order;
+}
+</code></pre>
+
+<h2>Accessing the JDO <code>PersistenceManager</code> [jdo-1.2.0-SNAPSHOT]</h2>
+
+<p>Isis currently only supports JDO named queries.  If you require more flexibility than this, eg for dynamically constructed queries, then the <code>IsisJdoSupport</code> interface can be used to obtain access to the underlying JDO <code>PersistenceManager</code>.</p>
+
+<p>For example:</p>
 
-<h2><code>IsisJdoSupport</code></h2>
+<pre><code>public List&lt;Order&gt; findOrders(...) {
+    javax.jdo.PersistenceManager pm = isisJdoSupport.getPersistenceManager();
 
-<p>The <code>IsisJdoSupport</code> is defined in the JDO applib. It is defined as:</p>
+    // knock yourself out...
 
-<pre><code>package org.apache.isis.objectstore.jdo.applib.service.support;
+    return someListOfOrders;
+}
 </code></pre>
 
-<p>public interface IsisJdoSupport {
-        <T> T injected(T domainObject);
-        <T> T refresh(T domainObject);
-    }</p>
+<h2>Registering the Service</h2>
 
 <p>The implementation is <code>IsisJdoSupportImpl</code>.  It is registered in <code>isis.properties</code> as per usual:</p>
 
@@ -298,101 +308,6 @@ public void setIsisJdoSupport(IsisJdoSup
 
 <p>The service will then be automatically injected as normal.</p>
 
-<h2>Workaround for Lazy Loading</h2>
-
-<p>In a bidir 1:m, we have found that in certain circumstances the post-load callback for the children is not fired.  Specifically, if the child has subclasses, and the subclass has fields/properties that are in the <a href="http://db.apache.org/jdo/fetchgroups.html">default fetch group</a>.</p>
-
-<p>A test case illustrating the problem (<em>though whether with the spec or the DN implementation, we are not yet sure</em>) can be found <a href="https://github.com/danhaywood/test-jdo">here on github</a>.</p>
-
-<p>The consequence of this is that any domain services used by the child object (including <code>DomainObjectContainer</code>) are not injected into the child.</p>
-
-<p>The workaround is to have the parent inject the services when returning the children.</p>
-
-<p>For example, suppose we have a <code>Customer</code> &lt;->* <code>Order</code> bidir relationship, and where <code>Order</code> my have subclasses, eg <code>RushedOrder</code>.  In <code>Customer</code>, we would add a new method <code>getOrdersWorkaround()</code>:</p>
-
-<pre><code>// {{ Orders (Collection)
-private SortedSet&lt;Order&gt; orders = new TreeSet&lt;Order&gt;();
-
-@Persistent(mappedBy = "customer")
-public SortedSet&lt;Order&gt; getOrders() {
-    return this.orders;
-}
-
-public void setOrders(final SortedSet&lt;Order&gt; orders) {
-    this.orders = orders;
-}
-
-public SortedSet&lt;Order&gt; getOrdersWorkaround() {
-
-    if (this.orders == null) {
-        // this can happen, it would seem, by JDO/DN when it is 
-        // setting up the object with its own set impl for lazy loading.
-        return null;
-    } else {
-        // inject each element before returning it
-        return Sets.newTreeSet(
-            Iterables.transform(
-                this.getOrders(), 
-                new Function&lt;Order, Order&gt;(){
-                    public Order apply(Order order) {
-                        return isisJdoSupport.injected(order);                        
-                    }
-                }));
-    }
-}
-</code></pre>
-
-<p>Alternatively, you can reload each child object.  Change:</p>
-
-<pre><code>                new Function&lt;Order, Order&gt;(){
-                    public Order apply(Order order) {
-                        return isisJdoSupport.injected(order);                        
-                    }
-                }));
-</code></pre>
-
-<p>to:</p>
-
-<pre><code>                new Function&lt;Order, Order&gt;(){
-                    public Order apply(Order order) {
-                        return isisJdoSupport.refresh(order);
-                    }
-                }));
-</code></pre>
-
-<p>Use <a href="enabling-logging.html">logging</a> to determine if this makes more calls to the database than using the <code>injected()</code> method.</p>
-
-<h2>Handling Unmanaged Parent Relationship</h2>
-
-<p>(Also in a bidir 1:m), we have found that the parent collection is not added to if a new child entity is persisted.</p>
-
-<p>There are two choices here.  The first is to ensure that there is code that manually updates each side of the relationship.  The second is to flush the changes and then to manually reload the parent entity from the database.</p>
-
-<p>For example, suppose we have a Customer &lt;->* Order bidir relationship, with an action that persists an Order.  </p>
-
-<p>To update both sides of the relationship, use:</p>
-
-<pre><code>public Order newOrder(final Customer customer) {
-    Order order = newTransientInstance(Order.class);
-    order.setCustomer(customer);
-    customer.getOrders().add(order); // update parent's collection
-    persist(customer);
-    return order;
-}
-</code></pre>
-
-<p>Alternatively, to reload the parent, use the <code>IsisJdoSupport</code> service:</p>
-
-<pre><code>public Order newOrder(final Customer customer) {
-    Order order = newTransientInstance(Order.class);
-    order.setCustomer(customer);
-    persist(customer);
-    getContainer().flush(); // to database
-    isisJdoSupport.refresh(customer); // reload parent from database
-    return order;
-}
-</code></pre>
-
 
 
       </div>

Modified: websites/staging/isis/trunk/content/components/security/shiro/using-ldap.html
==============================================================================
--- websites/staging/isis/trunk/content/components/security/shiro/using-ldap.html (original)
+++ websites/staging/isis/trunk/content/components/security/shiro/using-ldap.html Fri Jun  7 17:55:59 2013
@@ -3,7 +3,7 @@
   <head>
 
     <meta charset="utf-8">
-      <title>Using Shiro with an LDAP Server (1.1.0-SNAPSHOT)
</title>
+      <title>Using Shiro with an LDAP Server
</title>
     <meta name="description" content="">
     <meta name="author" content="">
 
@@ -111,7 +111,7 @@
       };
       function twshare () {
           window.open(
-                  "https://twitter.com/intent/tweet?url="+document.URL+"&text=Using Shiro with an LDAP Server (1.1.0-SNAPSHOT)
",
+                  "https://twitter.com/intent/tweet?url="+document.URL+"&text=Using Shiro with an LDAP Server
",
                   'Share on Twitter',
                   'width=800,height=526');
       };
@@ -247,7 +247,7 @@
 
 <div class="page-header">
 <p><a href="./../../../documentation.html">Docs</a>&nbsp;&raquo&nbsp;<a href="./../../../components/about.html">Components</a>&nbsp;&raquo&nbsp;<a href="./../../../components/security/about.html">Security</a>&nbsp;&raquo&nbsp;<a href="./../../../components/security/shiro/about.html">Shiro</a></p>
-<h1>Using Shiro with an LDAP Server (1.1.0-SNAPSHOT)
+<h1>Using Shiro with an LDAP Server
 
 </h1>
 </div>

Modified: websites/staging/isis/trunk/content/components/viewers/restfulobjects/about.html
==============================================================================
--- websites/staging/isis/trunk/content/components/viewers/restfulobjects/about.html (original)
+++ websites/staging/isis/trunk/content/components/viewers/restfulobjects/about.html Fri Jun  7 17:55:59 2013
@@ -261,7 +261,7 @@
 <h3>Applib Service Implementations</h3>
 
 <ul>
-<li><a href="event-serializer-rospec.html">Event Serializer per RO Spec</a> [1.1.0-SNAPSHOT]</li>
+<li><a href="event-serializer-rospec.html">Event Serializer per RO Spec</a></li>
 </ul>
 
 <h3>Releases</h3>

Modified: websites/staging/isis/trunk/content/components/viewers/restfulobjects/event-serializer-rospec.html
==============================================================================
--- websites/staging/isis/trunk/content/components/viewers/restfulobjects/event-serializer-rospec.html (original)
+++ websites/staging/isis/trunk/content/components/viewers/restfulobjects/event-serializer-rospec.html Fri Jun  7 17:55:59 2013
@@ -3,7 +3,7 @@
   <head>
 
     <meta charset="utf-8">
-      <title>Event Serializer for the RO Spec [1.1.0-SNAPSHOT]</title>
+      <title>Event Serializer for the RO Spec</title>
     <meta name="description" content="">
     <meta name="author" content="">
 
@@ -111,7 +111,7 @@
       };
       function twshare () {
           window.open(
-                  "https://twitter.com/intent/tweet?url="+document.URL+"&text=Event Serializer for the RO Spec [1.1.0-SNAPSHOT]",
+                  "https://twitter.com/intent/tweet?url="+document.URL+"&text=Event Serializer for the RO Spec",
                   'Share on Twitter',
                   'width=800,height=526');
       };
@@ -247,7 +247,7 @@
 
 <div class="page-header">
 <p><a href="./../../../documentation.html">Docs</a>&nbsp;&raquo&nbsp;<a href="./../../../components/about.html">Components</a>&nbsp;&raquo&nbsp;<a href="./../../../components/viewers/about.html">Viewers</a>&nbsp;&raquo&nbsp;<a href="./../../../components/viewers/restfulobjects/about.html">Restfulobjects</a></p>
-<h1>Event Serializer for the RO Spec [1.1.0-SNAPSHOT]
+<h1>Event Serializer for the RO Spec
 
 </h1>
 </div>

Added: websites/staging/isis/trunk/content/core/services/settings-services.html
==============================================================================
--- websites/staging/isis/trunk/content/core/services/settings-services.html (added)
+++ websites/staging/isis/trunk/content/core/services/settings-services.html Fri Jun  7 17:55:59 2013
@@ -0,0 +1,361 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+
+    <meta charset="utf-8">
+      <title>Settings Services</title>
+    <meta name="description" content="">
+    <meta name="author" content="">
+
+    <!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
+    <!--[if lt IE 9]>
+      <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
+    <![endif]-->
+
+    <!-- Le styles -->
+    <link href="./../../bootstrap.css" rel="stylesheet">
+    <link href="./../../prettify.css" rel="stylesheet">
+
+    <style type="text/css">
+        body {
+          padding-top: 60px;
+        }
+        .sprite {
+            display: inline-block;
+            height: 20px;
+            margin: 0 auto 4px;
+            outline: medium none;
+            text-indent: -999em;
+            width: 24px;
+            background-image: url('./../../images/sprites.png');
+            background-repeat: no-repeat;
+            overflow: hidden;
+            cursor: pointer;
+        }
+        .edit-page {
+            display: inline-block;
+            height: 20px;
+            margin: 0 auto 4px;
+            outline: medium none;
+            text-indent: -999em;
+            width: 24px;
+            background-image: url('./../../images/edit.png');
+            background-repeat: no-repeat;
+            overflow: hidden;
+            cursor: pointer;
+        }
+        .fb-share {
+            background-position: 0px -40px;
+        }
+        .gp-share {
+            background-position: 0px 0px;
+        }
+        .tw-share {
+            background-position: 0px -80px;
+        }
+        .markdown-content {
+            min-height: 500px;
+        }
+        .book-image img {
+          border: 1px;
+          border-style: solid;
+        }
+        .release-matrix .heading {
+            background-color: #eeeeee;
+        }
+        .release-matrix .new {
+            color: #dd0000;
+            font-weight: bolder;
+        }
+        .stub,.note {
+            position: relative;
+            padding: 7px 15px;
+            margin-bottom: 18px;
+            color: #404040;
+            background-color: #eedc94;
+            background-repeat: repeat-x;
+            background-image: -khtml-gradient(linear, left top, left bottom, from(#fceec1), to(#eedc94));
+            background-image: -moz-linear-gradient(top, #fceec1, #eedc94);
+            background-image: -ms-linear-gradient(top, #fceec1, #eedc94);
+            background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #fceec1), color-stop(100%, #eedc94));
+            background-image: -webkit-linear-gradient(top, #fceec1, #eedc94);
+            background-image: -o-linear-gradient(top, #fceec1, #eedc94);
+            background-image: linear-gradient(top, #fceec1, #eedc94);
+            filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fceec1', endColorstr='#eedc94', GradientType=0);
+            text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
+            border-color: #eedc94 #eedc94 #e4c652;
+            border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
+            text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
+            border-width: 1px;
+            border-style: solid;
+            -webkit-border-radius: 4px;
+            -moz-border-radius: 4px;
+            border-radius: 4px;
+            -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25);
+            -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25);
+            box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25);
+        }
+    </style>
+    <script type="text/javascript">
+      function fbshare () {
+          window.open(
+                  "http://www.facebook.com/sharer/sharer.php?u="+document.URL,
+                  'Share on Facebook',
+                  'width=640,height=426');
+      };
+      function gpshare () {
+          window.open(
+                  "https://plus.google.com/share?url="+document.URL,
+                  'Share on Google+',
+                  'width=584,height=385');
+      };
+      function twshare () {
+          window.open(
+                  "https://twitter.com/intent/tweet?url="+document.URL+"&text=Settings Services",
+                  'Share on Twitter',
+                  'width=800,height=526');
+      };
+    </script>
+
+    <!-- Le fav and touch icons -->
+    <link rel="shortcut icon" href="./../../images/favicon.ico">
+    <!--
+    <link rel="apple-touch-icon" href="./../../images/apple-touch-icon.png">
+    <link rel="apple-touch-icon" sizes="72x72" href="./../../images/apple-touch-icon-72x72.png">
+    <link rel="apple-touch-icon" sizes="114x114" href="./../../images/apple-touch-icon-114x114.png">
+    -->
+
+    <script src="./../../javascript/prettify.js" type="text/javascript"></script>
+    <script src="./../../javascript/jquery-latest.js"></script>
+
+
+    <script src="http://platform.twitter.com/widgets.js" type="text/javascript"></script>
+    <script src="./../../javascript/common.js"></script>
+    <script src="./../../javascript/prettyprint.js"></script>
+
+    <script src="./../../javascript/bootstrap-alert.js"></script>
+    <script src="./../../javascript/bootstrap-dropdown.js"></script>
+    <script src="./../../javascript/bootstrap-tooltip.js"></script>
+    <!--
+    <script src="./../../javascript/bootstrap-alerts.js"></script>
+    -->
+    <script src="./../../javascript/bootstrap-modal.js"></script>
+    <script src="./../../javascript/bootstrap-transition.js"></script>
+    <script src="./../../javascript/bootstrap-button.js"></script>
+    <script src="./../../javascript/bootstrap-popover.js"></script>
+    <script src="./../../javascript/bootstrap-scrollspy.js"></script>
+    <script src="./../../javascript/bootstrap-typeahead.js"></script>
+    <script src="./../../javascript/bootstrap-carousel.js"></script>
+    <script src="./../../javascript/bootstrap-tab.js"></script>
+    <script src="./../../javascript/bootstrap-collapse.js"></script>
+
+    
+    
+    
+
+    <script>
+    $(function () { prettyPrint() })
+    $().dropdown()
+    </script>
+
+    <!-- GAQ stuff removed here -->
+
+
+  </head>
+
+  <body>
+
+    <div class="topbar">
+      <div class="fill">
+        <div class="container">
+          <a class="brand" href="./../../index.html">Apache Isis&trade;</a>
+          <ul class="nav">
+            <li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Apache <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+                <li>
+                  <a href="http://www.apache.org/">Apache Homepage <i class="icon-share-alt"></i></a>
+                </li>
+                <li>
+                  <a href="http://www.apache.org/licenses/">Licenses <i class="icon-share-alt"></i></a>
+                </li>
+                <li>
+                  <a href="http://www.apache.org/security/">Security <i class="icon-share-alt"></i></a>
+                </li>
+                <li>
+                  <a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship <i class="icon-share-alt"></i></a>
+                </li>
+                <li>
+                  <a href="http://www.apache.org/foundation/thanks.html">Thanks <i class="icon-share-alt"></i></a>
+                </li>
+                <li>
+                  <a href="./../../more-thanks.html">More thanks <i class="icon-share-alt"></i></a>
+                </li>
+              </ul>
+            </li>
+            <li><a href="./../../index.html">Home</a></li>
+            <li><a href="./../../download.html">Download</a></li>
+            <li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Screenshots<b class="caret"></b></a>
+              <ul class="dropdown-menu">
+                <li><a href="./../../getting-started/screenshots.html">Screenshots</a></li>
+                <li><a href="./../../getting-started/screencasts.html">Screencasts</a></li>
+                <li><a href="./../../getting-started/powered-by.html">Powered by</a></li>
+                <!--
+                <li><a href="#">Online Demo</a></li>
+                -->
+              </ul>
+            </li>
+            <li><a href="./../../documentation.html">Documentation</a></li>
+            <li><a href="./../../support.html">Support</a></li>
+
+          </ul>
+
+          <!-- Google CSE Search Box Begins -->
+          <div style="float: right; position: relative; ">
+
+          <!--
+              <form action="http://www.google.com/cse" id="cse-search-box" _lpchecked="1">
+                <div>
+                    <input type="hidden" name="cx" value="012614087480249044419:dn-q5gtwxya">
+                    <input type="hidden" name="ie" value="UTF-8">
+                    <input type="text" name="q" placeholder="Search" size="31" style="border: 1px solid rgb(126, 157, 185); padding: 2px; background-color: rgb(255, 255, 255); background-position: 0% 50%; background-repeat: no-repeat no-repeat;">
+                    <input type="submit" name="sa" value="Search">
+                </div>
+                <input name="siteurl" type="hidden" value="isis.apache.org">
+                <input name="ref" type="hidden" value="">
+                <input name="ss" type="hidden" value="677j458329j2">
+            </form>
+          -->
+          
+            <FORM class="pull-right" id="searchbox_012614087480249044419:dn-q5gtwxya" action="http://www.google.com/cse">
+                    <input type="hidden" name="cx" value="012614087480249044419:dn-q5gtwxya">
+                <INPUT type="hidden" name="cof" value="FORID:0">
+                <INPUT name="q" type="text" placeholder="Search">
+            </FORM>
+
+          </div>
+       <!-- Google CSE Search Box Ends -->
+        
+        </div>
+      </div>
+    </div>
+
+    <div class="container">
+      <div class="markdown-content">
+      
+
+<div class="page-header">
+<p><a href="./../../documentation.html">Docs</a>&nbsp;&raquo&nbsp;<a href="./../../core/about.html">Core</a>&nbsp;&raquo&nbsp;<a href="./../../core/services/about.html">Services</a></p>
+<h1>Settings Services
+
+</h1>
+</div>
+
+<p>The <code>ApplicationSettingsService</code> and the <code>UserSettingsService</code> are two similar services that provide the ability to store either configuration settings.  With <code>ApplicationSettingsService</code> these settings have global scope; for the <code>UserSettingsService</code> the settings are stored per user.</p>
+
+<p>The core applib defines only interfaces and some convenience abstract classes.  The JDO objectstore provides an [implementation](../../components/objectstores/jdo/, alternatively you could write your own implementation.</p>
+
+<h2>ApplicationSettingsService</h2>
+
+<p>The API defined by <code>ApplicationSettingsService</code> is:</p>
+
+<pre><code>public interface ApplicationSettingsService {
+    ApplicationSetting find(@Named("Key") String key);
+}
+</code></pre>
+
+<p>where <code>ApplicationSetting</code> in turn is defined as:</p>
+
+<pre><code>public interface ApplicationSetting {
+
+    String getKey();
+
+    SettingType getType();
+    String getDescription();
+
+    String getValueRaw();
+
+    String valueAsString();
+    LocalDate valueAsLocalDate();
+    Integer valueAsInt();
+    Long valueAsLong();
+    Boolean valueAsBoolean();
+}
+</code></pre>
+
+<p>The intention is for implementations to store only the value of each setting as a raw string (<code>getValueRaw()</code>), however for callers the API has typesafe methods <code>valueAsXxx()</code>; calling the wrong method will throw an exception.  The <code>getType()</code> property indicates the datatype of each setting. </p>
+
+<h2>UserSettingsService</h2>
+
+<p>The API defined by <code>UserSettingsService</code> is:</p>
+
+<pre><code>public interface UserSettingsService {
+    UserSetting find(
+        @Named("User") String user, 
+        @Named("Key") String key);
+}
+</code></pre>
+
+<p>where <code>UserSetting</code> in turn is defined as:</p>
+
+<pre><code>public interface ApplicationSetting {
+
+    String getUser();
+    String getKey();
+
+    SettingType getType();
+    String getDescription();
+
+    String getValueRaw();
+
+    String valueAsString();
+    LocalDate valueAsLocalDate();
+    Integer valueAsInt();
+    Long valueAsLong();
+    Boolean valueAsBoolean();
+}
+</code></pre>
+
+<p>This is typesafe following the same pattern as <code>ApplicationSetting</code>, discussed above.</p>
+
+
+
+      </div>
+
+        <div id="edit" class="modal hide fade in" style="display: none; ">
+            <div class="modal-header">
+                <a class="close" data-dismiss="modal">x</a>
+
+                <h3>Thank you for contributing to the documention!</h3>
+            </div>
+            <div class="modal-body">
+                <h4>Any help with the documentation is greatly appreciated.</h4>
+                <p>All edits are reviewed before going live, so feel free to do much more than fix typos or links.  If you see a page that could benefit from an entire rewrite, we'd be thrilled to review it.  Don't be surprised if we like it so much we ask you for help with other pages :)</p>
+                <small>NOTICE: unless indicated otherwise on the pages in question, all editable content available from apache.org is presumed to be licensed under the Apache License (AL) version 2.0 and hence all submissions to apache.org treated as formal Contributions under the license terms.</small>
+                <!--[if gt IE 6]>
+                <h4>Internet Explorer Users</h4>
+                <p>If you are not an Apache committer, click the Yes link and enter a <i>anonymous</i> for the username and leave the password empty</p>
+                <![endif]-->
+
+            </div>
+            <div class="modal-footer">
+                Do you have an Apache ID?
+                <a href="javascript:void(location.href='https://cms.apache.org/redirect?uri='+escape(location.href))" class="btn">Yes</a>
+                <a href="javascript:void(location.href='https://anonymous:@cms.apache.org/redirect?uri='+escape(location.href))" class="btn">No</a>
+            </div>
+        </div>
+        <script src="./../../javascript/bootstrap-modal.js"></script>
+
+      <footer>
+        <p>
+        Copyright &copy; 2012~2013 The Apache Software Foundation, Licensed under the Apache License, Version 2.0.
+        <br/>
+        Apache Isis, Isis, Apache, the Apache feather logo, and the Apache Isis project logo are trademarks of The Apache Software Foundation.
+        </p>
+      </footer>
+
+    </div> <!-- /container -->
+
+  </body>
+</html>

Modified: websites/staging/isis/trunk/content/core/unittestsupport.html
==============================================================================
--- websites/staging/isis/trunk/content/core/unittestsupport.html (original)
+++ websites/staging/isis/trunk/content/core/unittestsupport.html Fri Jun  7 17:55:59 2013
@@ -299,7 +299,7 @@ Isis provides <a href="../getting-starte
 
 <p>The example tests can be found <a href="https://github.com/apache/isis/tree/master/core/unittestsupport/src/test/java/org/apache/isis/core/unittestsupport/bidir">here</a>.</p>
 
-<h2>JUnitRuleMockery2</h2>
+<h2>JUnitRuleMockery2 (enhanced in [1.3.0-SNAPSHOT])</h2>
 
 <p>An extension to the JMock's <code>JunitRuleMockery</code>, providing a simpler API and also providing support for autowiring.</p>
 
@@ -316,11 +316,6 @@ Isis provides <a href="../getting-starte
     @ClassUnderTest
     private CollaboratingUsingSetterInjection collaborating;
 
-    @Before
-    public void setUp() throws Exception {
-        collaborating = context.getClassUnderTest();
-    }
-
     @Test
     public void wiring() {
         assertThat(collaborating.collaborator, is(not(nullValue())));
@@ -328,6 +323,14 @@ Isis provides <a href="../getting-starte
 }
 </code></pre>
 
+<p>Prior to 1.3.0-SNAPSHOT, it is necessary to manually lookup the <code>@ClassUnderTest</code> instance from the <code>context</code>:</p>
+
+<pre><code>    @Before
+    public void setUp() throws Exception {
+        collaborating = context.getClassUnderTest();
+    }
+</code></pre>
+
 <p>The example tests can be found <a href="https://github.com/apache/isis/tree/master/core/unittestsupport/src/test/java/org/apache/isis/core/unittestsupport/jmocking">here</a></p>
 
 <h2>ValueTypeContractTestAbstract</h2>

Modified: websites/staging/isis/trunk/content/documentation.html
==============================================================================
--- websites/staging/isis/trunk/content/documentation.html (original)
+++ websites/staging/isis/trunk/content/documentation.html Fri Jun  7 17:55:59 2013
@@ -329,7 +329,8 @@
 <li><a href="core/services/auditing-service.html">Auditing Service</a></li>
 <li><a href="core/services/bookmark-service.html">Bookmark Service</a></li>
 <li><a href="core/services/exception-recognizers.html">Exception Recognizers</a></li>
-<li><a href="core/services/publishing-service.html">Publishing Service</a>
+<li><a href="core/services/publishing-service.html">Publishing Service</a></li>
+<li><a href="core/services/settings-services.html">Settings Services</a> [1.3.0-SNAPSHOT]
 </div>
 <div class="span-one-third"></li>
 </ul>
@@ -464,7 +465,8 @@
 <li><a href="components/objectstores/jdo/eagerly-registering-entities.html">Eagerly Registering Entity Types</a></li>
 <li><a href="components/objectstores/jdo/publishing-service-jdo.html">Publishing Service on JDO</a> </li>
 <li><a href="components/objectstores/jdo/auditing-service-jdo.html">Auditing Service on JDO</a></li>
-<li><a href="components/objectstores/jdo/exception-recognizers-jdo.html">Exception Recognizers</a>
+<li><a href="components/objectstores/jdo/exception-recognizers-jdo.html">Exception Recognizers</a></li>
+<li><a href="components/objectstores/jdo/settings-services-jdo.html">Settings Services on JDO</a> [jdo-1.2.0-SNAPSHOT]
 </div>
 <div class="span-one-third"></li>
 </ul>
@@ -594,11 +596,10 @@
 <li><a href="components/profilestores/sql/about.html">SQL Profile Store</a>
 </div>
 </div>
+</div>
 </div></li>
 </ul>
 
-<p></div></p>
-
 
 
       </div>