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/05/23 11:36:22 UTC

svn commit: r862841 [13/24] - in /websites/staging/isis/trunk: cgi-bin/ content/ content/applib-guide/ content/applib-guide/domain-services/ content/applib-guide/how-tos/ content/applib-guide/images/ content/applib-guide/recognized-annotations/ content...

Added: websites/staging/isis/trunk/content/applib-guide/how-tos/how-to-08-010-Hiding,-disabling-or-validating-for-specific-users-or-roles.html
==============================================================================
--- websites/staging/isis/trunk/content/applib-guide/how-tos/how-to-08-010-Hiding,-disabling-or-validating-for-specific-users-or-roles.html (added)
+++ websites/staging/isis/trunk/content/applib-guide/how-tos/how-to-08-010-Hiding,-disabling-or-validating-for-specific-users-or-roles.html Thu May 23 09:36:18 2013
@@ -0,0 +1,327 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+
+    <meta charset="utf-8">
+      <title></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">
+    <link href="./../../bootstrap-mods.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=",
+                  '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-twipsy.js"></script>
+    <script src="./../../javascript/bootstrap-buttons.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 src="./../../javascript/bootstrap-tabs.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="#">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="./../../applib-guide/about.html">Applib Guide</a>&nbsp;&raquo&nbsp;<a href="./../../applib-guide/how-tos/about.html">How Tos</a></p>
+<h1>
+
+</h1>
+</div>
+
+<h2>Hiding, disabling or validating for specific users or roles</h2>
+
+<p>Generally it is not good practice to embed knowledge of roles and/or
+users into the domain classes; instead, this should be the
+responsibility of the framework or platform and should be specified and
+administered externally to the domain model. However, in rare
+circumstances it might be necessary or pragmatic to implement access
+control within the domain model.</p>
+
+<p>The current user can be obtained from <code>DomainObjectContainer</code>, using its
+<code>getUser()</code> method. Alternatively, if the domain object inherits from
+<code>AbstractDomainObject</code>, then <code>getUser()</code> is also inherited. In either case
+the method returns an object of type
+<code>org.apache.isis.security.UserMemento</code>, which holds both username and the
+set of roles for that user. <!--The full details of the security classes can
+be found in ?.--></p>
+
+<p>The mechanism to apply a business rule is just to return an appropriate
+value from a supporting <code>hideXxx()</code>, <code>disableXxx()</code> or <code>validateXxx()</code> method.</p>
+
+<p>For example, the following requires that the <code>MODIFY_SALARY</code> role is assigned to the current user in order to update a salary property beyond
+a certain value:</p>
+
+<pre><code>public class Employee extends AbstractDomainObject {
+    public BigDecimal getSalary() { ... }
+    public void setSalary(BigDecimal salary) { ... }
+    public String validateSalary() {
+        return salary.doubleValue() &gt;= 30000 &amp;&amp;
+              !getUser().hasRole("MODIFY_SALARY")?
+              "Need MODIFY_SALARY role to increase salary above 30000": null;
+    }
+}
+</code></pre>
+
+
+
+      </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>

Added: websites/staging/isis/trunk/content/applib-guide/how-tos/how-to-08-020-How-to-use-Isis-authorization-manager.html
==============================================================================
--- websites/staging/isis/trunk/content/applib-guide/how-tos/how-to-08-020-How-to-use-Isis-authorization-manager.html (added)
+++ websites/staging/isis/trunk/content/applib-guide/how-tos/how-to-08-020-How-to-use-Isis-authorization-manager.html Thu May 23 09:36:18 2013
@@ -0,0 +1,338 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+
+    <meta charset="utf-8">
+      <title></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">
+    <link href="./../../bootstrap-mods.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=",
+                  '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-twipsy.js"></script>
+    <script src="./../../javascript/bootstrap-buttons.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 src="./../../javascript/bootstrap-tabs.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="#">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="./../../applib-guide/about.html">Applib Guide</a>&nbsp;&raquo&nbsp;<a href="./../../applib-guide/how-tos/about.html">How Tos</a></p>
+<h1>
+
+</h1>
+</div>
+
+<h2>How to use Isis' authorization manager</h2>
+
+<p>An alternative to hard-coding role names within the domain entities is
+instead to configure an authorization manager. This is a component that
+can either hide or disable access to class members (properties,
+collections, actions).</p>
+
+<p>The core "bypass" authorization manager simply provides access to all class members.</p>
+
+<p>To enable a different authorization manager, update the
+<code>isis.properties</code> file, for example:</p>
+
+<pre><code>isis.authorization=file
+</code></pre>
+
+<p>Also update the <code>pom.xml</code> to reference this component, for example:</p>
+
+<pre><code>&lt;properties&gt;
+    ...
+    &lt;isis-security-file.version&gt;1.0.1&lt;/isis-security-file.version&gt;
+&lt;/properties&gt;
+
+&lt;dependencyManagement&gt;
+    &lt;dependencies&gt;
+        ...
+        &lt;dependency&gt;
+            &lt;groupId&gt;org.apache.isis.security&lt;/groupId&gt;
+            &lt;artifactId&gt;isis-security-file&lt;/artifactId&gt;
+            &lt;version&gt;${isis-security-file.version}&lt;/version&gt;
+            &lt;type&gt;pom&lt;/type&gt;
+            &lt;scope&gt;import&lt;/scope&gt;
+        &lt;/dependency&gt;
+    &lt;/dependencies&gt;
+&lt;/dependencyManagement&gt;
+
+&lt;dependencies&gt;
+    &lt;dependency&gt;
+        &lt;groupId&gt;org.apache.isis.security&lt;/groupId&gt;
+        &lt;artifactId&gt;isis-security-file&lt;/artifactId&gt;
+    &lt;/dependency&gt;
+&lt;/dependencies&gt;
+</code></pre>
+
+<p>See the documentation for the chosen authorization manager as to how security information should be configured. For example, the file-based authorization manager reads from some configuration files alongside <code>isis.properties</code>.</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>

Added: websites/staging/isis/trunk/content/applib-guide/reference/DomainObjectContainer.html
==============================================================================
--- websites/staging/isis/trunk/content/applib-guide/reference/DomainObjectContainer.html (added)
+++ websites/staging/isis/trunk/content/applib-guide/reference/DomainObjectContainer.html Thu May 23 09:36:18 2013
@@ -0,0 +1,459 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+
+    <meta charset="utf-8">
+      <title></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">
+    <link href="./../../bootstrap-mods.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=",
+                  '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-twipsy.js"></script>
+    <script src="./../../javascript/bootstrap-buttons.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 src="./../../javascript/bootstrap-tabs.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="#">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="./../../applib-guide/about.html">Applib Guide</a>&nbsp;&raquo&nbsp;<a href="./../../applib-guide/reference/about.html">Reference</a></p>
+<h1>
+
+</h1>
+</div>
+
+<h1>DomainObjectContainer interface</h1>
+
+<blockquote>
+  <p>Provides a single point of contact from domain objects into the
+  <em>Apache Isis</em> framework.</p>
+</blockquote>
+
+<p>The <code>DomainObjectContainer</code> interface provides a single point of contact
+from domain objects into the <em>Isis</em> framework. It can also be used as a
+lightweight general purpose repository during prototyping.</p>
+
+<table>
+<tr>
+    <th>Category</th>
+    <th>Method</th>
+    <th>Description</th>
+</tr>
+<tr>
+    <td>Object creation</td>
+    <td>newTransientInstance(Class\<T\>)</td>
+    <td>Creates new non-persisted object</td>
+</tr>
+<tr>
+    <td></td>
+    <td>newPersistentInstance(Class\<T\>)</td>
+    <td>Creates new object, will be persisted at end of action</td>
+</tr>
+<tr>
+    <td></td>
+    <td>newInstance(Class\<T\>, Object)</td>
+    <td>Creates object in state persistence state as that provided</td>
+</tr>
+<tr>
+    <td>Validation</td>
+    <td>isValid(Object)</td>
+    <td>whether object is valid</td>
+</tr>
+<tr>
+    <td></td>
+    <td>validate(Object)</td>
+    <td>reason why object is invalid (if any)</td>
+</tr>
+<tr>
+    <td>Generic Repository</td>
+    <td>allInstances(Class\<T\>)</td>
+    <td>All persisted instances of specified type</td>
+</tr>
+<tr>
+    <td></td>
+    <td>allMatches(Class\<T\>, Filter\<T\>)</td>
+    <td>All persistenced instances of specified type matching filter</td>
+</tr>
+<tr>
+    <td></td>
+    <td>allMatches(Class\<T\>, String)</td>
+    <td>All persisted instances with the specified string as their title</td>
+</tr>
+<tr>
+    <td></td>
+    <td>allMatches(Class\<T\>, Object)</td>
+    <td>All persisted instances matching object (query-by-example)</td>
+</tr>
+<tr>
+    <td></td>
+    <td>allMatches(Query\<T\>)</td>
+    <td>All instances satisfying the provided query</td>
+</tr>
+<tr>
+    <td></td>
+    <td>firstMatch(...)</td>
+    <td>As for allMatches(...), but returning first instance</td>
+</tr>
+<tr>
+    <td></td>
+    <td>uniqueMatch(...)</td>
+    <td>As for firstMatch(...), but requiring there to be only one match</td>
+</tr>
+<tr>
+    <td>Object persistence</td>
+    <td>isPersistent(Object)</td>
+    <td>whether object is persistent</td>
+</tr>
+<tr>
+    <td></td>
+    <td>persist(Object)</td>
+    <td>persist the transient object</td>
+</tr>
+<tr>
+    <td></td>
+    <td>persistIfNotAlready(Object)</td>
+    <td>persist the object (provided is not already persisted)</td>
+</tr>
+<tr>
+    <td></td>
+    <td>remove(Object)</td>
+    <td>remove the persisted object</td>
+</tr>
+<tr>
+    <td></td>
+    <td>removeIfNotAlready(Object)</td>
+    <td>remove the object (provided is not already transient)</td>
+</tr>
+<tr>
+    <td>Presentation</td>
+    <td>titleOf(Object)</td>
+    <td>Returns the title of the object.</td>
+</tr>
+<tr>
+    <td>Messages and warnings</td>
+    <td>informUser(String)</td>
+    <td>Inform the user</td>
+</tr>
+<tr>
+    <td></td>
+    <td>warnUser(String)</td>
+    <td>Warn the user about a situation, requiring acknowledgement.</td>
+</tr>
+<tr>
+    <td></td>
+    <td>raiseError(String)</td>
+    <td>Notify user of a serious application error, typically requiring further action on behalf of the user</td>
+</tr>
+<tr>
+    <td>Security</td>
+    <td>getUser()</td>
+    <td>The currently-logged on user</td>
+</tr>
+<tr>
+    <td>Properties</td>
+    <td>getProperty(String)</td>
+    <td>Value of configuration property</td>
+</tr>
+<tr>
+    <td></td>
+    <td>getPropertyNames()</td>
+    <td>All configuration properties available</td>
+</tr>
+<tr>
+    <td>Lazy loading, dirty object tracking (\*)</td>
+    <td>resolve(Object)</td>
+    <td>Lazy load object (overloaded to optionally load a property of object)</td>
+</tr>
+<tr>
+    <td></td>
+    <td>objectChanged(Object)</td>
+    <td>Mark object as dirty</td>
+</tr>
+<tr>
+    <td>Object store control (\*\*)</td>
+    <td>flush()</td>
+    <td>Flush all pending changes to object store</td>
+</tr>
+<tr>
+    <td></td>
+    <td>commit()</td>
+    <td>Commit all pending changes to object store</td>
+</tr>
+</table>
+
+<blockquote>
+  <p><strong>Note</strong></p>
+  
+  <p>(*) generally not necessary to call - performed by bytecode proxies
+  (**) the use of these methods is discouraged - they are typically used only for tests</p>
+</blockquote>
+
+
+
+      </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>

Added: websites/staging/isis/trunk/content/applib-guide/reference/Event.html
==============================================================================
--- websites/staging/isis/trunk/content/applib-guide/reference/Event.html (added)
+++ websites/staging/isis/trunk/content/applib-guide/reference/Event.html Thu May 23 09:36:18 2013
@@ -0,0 +1,308 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+
+    <meta charset="utf-8">
+      <title></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">
+    <link href="./../../bootstrap-mods.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=",
+                  '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-twipsy.js"></script>
+    <script src="./../../javascript/bootstrap-buttons.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 src="./../../javascript/bootstrap-tabs.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="#">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="./../../applib-guide/about.html">Applib Guide</a>&nbsp;&raquo&nbsp;<a href="./../../applib-guide/reference/about.html">Reference</a></p>
+<h1>
+
+</h1>
+</div>
+
+<h1>Events</h1>
+
+<blockquote>
+  <p>The InteractionEvent hierarchy.</p>
+</blockquote>
+
+<p>Although not supported by the default programming model, the applib
+nevertheless defines an event hierarchy that characterizes all of the
+different types of interactions that can occur. This is used by the
+wrapper programming model, and is exploited by the JUnit viewer.</p>
+
+<p>The following UML class diagram shows the hierarchy of events:</p>
+
+<p><img src="images/Events.png" alt="" /></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>

Added: websites/staging/isis/trunk/content/applib-guide/reference/Recognized-Methods-and-Prefixes.html
==============================================================================
--- websites/staging/isis/trunk/content/applib-guide/reference/Recognized-Methods-and-Prefixes.html (added)
+++ websites/staging/isis/trunk/content/applib-guide/reference/Recognized-Methods-and-Prefixes.html Thu May 23 09:36:18 2013
@@ -0,0 +1,616 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+
+    <meta charset="utf-8">
+      <title></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">
+    <link href="./../../bootstrap-mods.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=",
+                  '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-twipsy.js"></script>
+    <script src="./../../javascript/bootstrap-buttons.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 src="./../../javascript/bootstrap-tabs.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="#">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="./../../applib-guide/about.html">Applib Guide</a>&nbsp;&raquo&nbsp;<a href="./../../applib-guide/reference/about.html">Reference</a></p>
+<h1>
+
+</h1>
+</div>
+
+<h1>Recognized Methods and Prefixes</h1>
+
+<p>The following table lists all of the methods or method prefixes that are
+recognized by <em>Apache Isis</em>' default programming model:</p>
+
+<table>
+<tr>
+    <th>Prefix</th>
+    <th>Object</th>
+    <th>Property</th>
+    <th>Collection</th>
+    <th>Action</th>
+    <th>Action Param</th>
+    <th>See also</th>
+</tr>
+<tr>
+    <td>addTo</td>
+    <td></td>
+    <td></td>
+    <td>Y</td>
+    <td></td>
+    <td></td>
+    <td></td>
+</tr>
+<tr>
+    <td>removeFrom</td>
+    <td></td>
+    <td></td>
+    <td>Y</td>
+    <td></td>
+    <td></td>
+    <td></td>
+</tr>
+<tr>
+    <td>choices</td>
+    <td></td>
+    <td>Y</td>
+    <td></td>
+    <td></td>
+    <td>Y</td>
+    <td></td>
+</tr>
+<tr>
+    <td>clear</td>
+    <td></td>
+    <td>Y</td>
+    <td></td>
+    <td></td>
+    <td></td>
+    <td></td>
+</tr>
+<tr>
+    <td>modify</td>
+    <td></td>
+    <td>Y</td>
+    <td></td>
+    <td></td>
+    <td></td>
+    <td></td>
+</tr>
+<tr>
+    <td>created</td>
+    <td>Y</td>
+    <td></td>
+    <td></td>
+    <td></td>
+    <td></td>
+    <td></td>
+</tr>
+<tr>
+    <td>default</td>
+    <td></td>
+    <td>Y</td>
+    <td></td>
+    <td></td>
+    <td>Y</td>
+    <td></td>
+</tr>
+<tr>
+    <td>disable</td>
+    <td>Y</td>
+    <td>Y</td>
+    <td>Y</td>
+    <td>Y</td>
+    <td></td>
+    <td></td>
+</tr>
+<tr>
+    <td>get</td>
+    <td></td>
+    <td>Y</td>
+    <td>Y</td>
+    <td></td>
+    <td></td>
+    <td>set</td>
+</tr>
+<tr>
+    <td>getId</td>
+    <td>Y</td>
+    <td></td>
+    <td></td>
+    <td></td>
+    <td></td>
+    <td>(services only)</td>
+</tr>
+<tr>
+    <td>hide</td>
+    <td></td>
+    <td>Y</td>
+    <td>Y</td>
+    <td>Y</td>
+    <td></td>
+    <td></td>
+</tr>
+<tr>
+    <td>iconName</td>
+    <td>Y</td>
+    <td></td>
+    <td></td>
+    <td></td>
+    <td></td>
+    <td></td>
+</tr>
+<tr>
+    <td>loaded</td>
+    <td>Y</td>
+    <td></td>
+    <td></td>
+    <td></td>
+    <td></td>
+    <td></td>
+</tr>
+<tr>
+    <td>loading</td>
+    <td>Y</td>
+    <td></td>
+    <td></td>
+    <td></td>
+    <td></td>
+    <td></td>
+</tr>
+<tr>
+    <td>modify</td>
+    <td></td>
+    <td>Y</td>
+    <td></td>
+    <td></td>
+    <td></td>
+    <td>clear</td>
+</tr>
+<tr>
+    <td>persisted</td>
+    <td>Y</td>
+    <td></td>
+    <td></td>
+    <td></td>
+    <td></td>
+    <td></td>
+</tr>
+<tr>
+    <td>persisting</td>
+    <td>Y</td>
+    <td></td>
+    <td></td>
+    <td></td>
+    <td></td>
+    <td></td>
+</tr>
+<tr>
+    <td>removing</td>
+    <td>Y</td>
+    <td></td>
+    <td></td>
+    <td></td>
+    <td></td>
+    <td></td>
+</tr>
+<tr>
+    <td>removed</td>
+    <td>Y</td>
+    <td></td>
+    <td></td>
+    <td></td>
+    <td></td>
+    <td></td>
+</tr>
+<tr>
+    <td>removeFrom</td>
+    <td></td>
+    <td>Y</td>
+    <td></td>
+    <td></td>
+    <td></td>
+    <td>addTo</td>
+</tr>
+<tr>
+    <td>set</td>
+    <td></td>
+    <td>Y</td>
+    <td>Y</td>
+    <td></td>
+    <td></td>
+    <td>get</td>
+</tr>
+<tr>
+    <td>toString</td>
+    <td>Y</td>
+    <td></td>
+    <td></td>
+    <td></td>
+    <td></td>
+    <td></td>
+</tr>
+<tr>
+    <td>title</td>
+    <td>Y</td>
+    <td></td>
+    <td></td>
+    <td></td>
+    <td></td>
+    <td></td>
+</tr>
+<tr>
+    <td>updating</td>
+    <td>Y</td>
+    <td></td>
+    <td></td>
+    <td></td>
+    <td></td>
+    <td></td>
+</tr>
+<tr>
+    <td>updated</td>
+    <td>Y</td>
+    <td></td>
+    <td></td>
+    <td></td>
+    <td></td>
+    <td></td>
+</tr>
+<tr>
+    <td>validate</td>
+    <td>Y</td>
+    <td></td>
+    <td></td>
+    <td>Y</td>
+    <td>Y</td>
+    <td></td>
+</tr>
+<tr>
+    <td>validateAddTo</td>
+    <td></td>
+    <td>Y</td>
+    <td></td>
+    <td></td>
+    <td></td>
+    <td>validateRemoveFrom</td>
+</tr>
+<tr>
+    <td>validateRemoveFrom</td>
+    <td></td>
+    <td>Y</td>
+    <td></td>
+    <td></td>
+    <td></td>
+    <td>validateAddTo</td>
+</tr>
+</table>
+
+<p>There are also a number of deprecated methods:</p>
+
+<table>
+<tr>
+    <th>Prefix</th>
+    <th>Object</th>
+    <th>Property</th>
+    <th>Collection</th>
+    <th>Action</th>
+    <th>Action Param</th>
+    <th>See also</th>
+</tr>
+<tr>
+    <td>deleted</td>
+    <td>Y</td>
+    <td></td>
+    <td></td>
+    <td></td>
+    <td></td>
+    <td>removed</td>
+</tr>
+<tr>
+    <td>deleting</td>
+    <td>Y</td>
+    <td></td>
+    <td></td>
+    <td></td>
+    <td></td>
+    <td>removing</td>
+</tr>
+<tr>
+    <td>saved</td>
+    <td>Y</td>
+    <td></td>
+    <td></td>
+    <td></td>
+    <td></td>
+    <td>persisted</td>
+</tr>
+<tr>
+    <td>saving</td>
+    <td>Y</td>
+    <td></td>
+    <td></td>
+    <td></td>
+    <td></td>
+    <td>persisting</td>
+</tr>
+</table>
+
+<p>In order to be recognized, all methods must be <code>public</code>. Any methods
+that do not match are deemed to be action methods that the user can
+invoke from the user interface.</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>