You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2015/04/15 23:39:46 UTC
svn commit: r1673966 [23/31] - in /isis/site/trunk/content/docs: ./
css/asciidoctor/ css/font-awesome/4.3.0/css/ css/font-awesome/4.3.0/fonts/
css/font-awesome/4.3.0/less/ css/font-awesome/4.3.0/scss/ css/foundation/
css/foundation/5.5.1/ getting-start...
Added: isis/site/trunk/content/docs/user-guide/user-guide-how-tos-business-rules.html
URL: http://svn.apache.org/viewvc/isis/site/trunk/content/docs/user-guide/user-guide-how-tos-business-rules.html?rev=1673966&view=auto
==============================================================================
--- isis/site/trunk/content/docs/user-guide/user-guide-how-tos-business-rules.html (added)
+++ isis/site/trunk/content/docs/user-guide/user-guide-how-tos-business-rules.html Wed Apr 15 21:39:44 2015
@@ -0,0 +1,907 @@
+<!doctype html>
+
+<html class="no-js" lang="en">
+
+<head>
+
+ <meta charset="utf-8"/>
+
+ <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
+
+
+
+ <title>User Guide: How-tos: Business Rules</title>
+
+
+
+ <!--
+
+ Licensed to the Apache Software Foundation (ASF) under one
+
+ or more contributor license agreements. See the NOTICE file
+
+ distributed with this work for additional information
+
+ regarding copyright ownership. The ASF licenses this file
+
+ to you under the Apache License, Version 2.0 (the
+
+ "License"); you may not use this file except in compliance
+
+ with the License. You may obtain a copy of the License at
+
+
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+
+
+ Unless required by applicable law or agreed to in writing,
+
+ software distributed under the License is distributed on an
+
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+
+ KIND, either express or implied. See the License for the
+
+ specific language governing permissions and limitations
+
+ under the License.
+
+ -->
+
+
+
+ <!-- No caching headers -->
+
+ <meta http-equiv="cache-control" content="no-cache" />
+
+ <meta http-equiv="pragma" content="no-cache" />
+
+ <meta http-equiv="expires" content="-1" />
+
+
+
+
+
+ <link rel="stylesheet" href="../css/foundation/5.5.1/foundation.css"/>
+
+ <script src="../js/foundation/5.5.1/vendor/modernizr.js"></script>
+
+
+
+ <link href="../css/asciidoctor/stylesheets/foundation-potion.css" rel="stylesheet">
+
+
+
+ <link href="../css/font-awesome/4.3.0/css/font-awesome.min.css" rel="stylesheet">
+
+
+
+ <style type="text/css">
+
+ #forkongithub a{
+
+ display: none;
+
+ background:#090;
+
+ color:#fff;
+
+ text-decoration:none;
+
+ font-family:arial, sans-serif;
+
+ text-align:center;
+
+ font-weight:bold;
+
+ padding:5px 40px;
+
+ font-size:1rem;
+
+ line-height:2rem;
+
+ position:relative;
+
+ transition:0.5s;
+
+ }
+
+ #forkongithub a:hover{
+
+ background:#0D0;
+
+ color:#fff;
+
+ }
+
+ #forkongithub a::before,
+
+ #forkongithub a::after{
+
+ content:"";width:100%;
+
+ display:block;
+
+ position:fixed;
+
+ top:1px;
+
+ left:0;
+
+ height:1px;
+
+ background:#fff;
+
+ z-index: 9999;
+
+ }
+
+ #forkongithub a::after{
+
+ bottom:1px;
+
+ top:auto;
+
+ }
+
+ @media screen and (min-width:768px){
+
+ #forkongithub{
+
+ position:fixed;
+
+ display:block;
+
+ top:0;
+
+ right:0;
+
+ width:250px;
+
+ overflow:hidden;
+
+ height:250px;
+
+ z-index: 9999;
+
+ }
+
+ #forkongithub a{
+
+ display:inherit;
+
+ width:250px;
+
+ position:fixed;
+
+ font-size:small;
+
+ top:40px;
+
+ right:-60px;
+
+ transform:rotate(45deg);
+
+ -webkit-transform:rotate(45deg);
+
+ -ms-transform:rotate(45deg);
+
+ box-shadow:4px 4px 10px rgba(0,0,0,0.8);
+
+ }
+
+ }
+
+ </style>
+
+
+
+ <style>
+
+ body {
+
+ position: relative;
+
+ }
+
+
+
+ body div#toc li,
+
+ body div#toc2 li {
+
+ list-style-type: none;
+
+ }
+
+
+
+ div#doc-content {
+
+ margin-top: 30px;
+
+ }
+
+
+
+ body div#toc li.active-region:before,
+
+ body div#toc2 li.active-region:before {
+
+ content: "\00BB \0020";
+
+ margin-left: -12px;
+
+ }
+
+
+
+ body div#toc li a.active,
+
+ body div#toc2 li a.active {
+
+ color: red;
+
+ }
+
+
+
+ body div#toc.toc,
+
+ body div#toc.toc2 {
+
+ position: fixed;
+
+ left: auto;
+
+ padding-top: 120px;
+
+ z-index: auto;
+
+ background-color: white;
+
+ border-left-color: #eee;
+
+ border-left-style: solid;
+
+ border-right: none;
+
+ }
+
+ </style>
+
+
+
+</head>
+
+<body>
+
+
+
+ <span id="forkongithub">
+
+ <a href="https://github.com/apache/isis">Fork me on GitHub</a>
+
+ </span>
+
+
+
+<div class="row">
+
+
+
+ <div class="fixed contain-to-grid">
+
+ <nav class="top-bar" data-topbar role="navigation">
+
+ <ul class="title-area">
+
+ <li class="name">
+
+ <h1>
+
+ <a href="/index.html">Apache Isis™</a>
+
+ </h1>
+
+ </li>
+
+ <!-- Remove the class "menu-icon" to get rid of menu icon. Take out "Menu" to just have icon alone -->
+
+ <li class="toggle-topbar menu-icon"><a href="#"><span>Menu</span></a></li>
+
+ </ul>
+
+
+
+ <section class="top-bar-section">
+
+ <ul class="right">
+
+
+
+ <li class="has-form">
+
+ <FORM class="searchbox navbar-form navbar-right" id="searchbox_012614087480249044419:dn-q5gtwxya" action="http://www.google.com/cse">
+
+ <div class="row collapse">
+
+ <input type="hidden" name="cx" value="012614087480249044419:dn-q5gtwxya">
+
+ <INPUT type="hidden" name="cof" value="FORID:0">
+
+ <INPUT class="form-control" name="q" type="text" placeholder="Search">
+
+ </div>
+
+ </FORM>
+
+ </li>
+
+
+
+ </ul>
+
+
+
+ <!-- Left Nav Section -->
+
+ <ul class="left">
+
+
+
+ <li class="has-dropdown">
+
+ <a href="#" >Demos</b></a>
+
+ <ul class="dropdown">
+
+ <li><a href="/intro/elevator-pitch/isis-in-pictures.html">Screenshots</a></li>
+
+ <li><a href="/intro/tutorials/screencasts.html">Screencasts <img src="/images/tv_show-25.png"></a></li>
+
+ <li><a href="/intro/powered-by/powered-by.html">Powered by</a></li>
+
+ <li><a href="http://isisdemo.mmyco.co.uk/" target="_blank">Online Demo</a></li>
+
+ </ul>
+
+ </li>
+
+
+
+ <li><a href="/documentation">Documentation</a></li>
+
+
+
+ <li class="has-dropdown">
+
+ <a href="#">Downloads</a>
+
+ <ul class="dropdown">
+
+ <li><a href="/intro/getting-started/simpleapp-archetype.html">Isis (Maven archetype)</a></li>
+
+ <li><a href="/download.html">Isis (downloads)</a></li>
+
+ <li><a href="http://www.isisaddons.org" target="_blank">Isis Add-ons (not ASF)</a></li>
+
+ </ul>
+
+ </li>
+
+
+
+ <li class="has-dropdown">
+
+ <a href="#">Help</a>
+
+ <ul class="dropdown">
+
+ <li><a href="/support.html">Mailing Lists</a></li>
+
+ <li><a href="http://isis.markmail.org/search/?q=" target="_blank">Mailing List Archives</a></li>
+
+ <li><a href="https://issues.apache.org/jira/browse/ISIS" target="_blank">JIRA</a></li>
+
+ <li><a href="http://github.com/apache/isis" target="_blank">Github mirror</a></li>
+
+ <li><a href="http://stackoverflow.com/questions/tagged/isis" target="_blank">Stack Overflow</a></li>
+
+ <li><a href="/contributors/contributing.html">How to contribute</a></li>
+
+ </ul>
+
+ </li>
+
+
+
+ <li class="has-dropdown">
+
+ <a href="#" >@ASF</a>
+
+ <ul class="dropdown">
+
+ <li>
+
+ <a href="http://www.apache.org/" target="_blank">Apache Homepage <i class="icon-share-alt"></i></a>
+
+ </li>
+
+ <li>
+
+ <a href="http://www.apache.org/licenses/" target="_blank">Licenses <i class="icon-share-alt"></i></a>
+
+ </li>
+
+ <li>
+
+ <a href="http://www.apache.org/security/" target="_blank">Security <i class="icon-share-alt"></i></a>
+
+ </li>
+
+ <li>
+
+ <a href="http://www.apache.org/foundation/sponsorship.html" target="_blank">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="{{base}}more-thanks.html">More thanks <i class="icon-share-alt"></i></a>
+
+ </li>
+
+ </ul>
+
+ </li>
+
+
+
+ </ul>
+
+
+
+ </section>
+
+ </nav>
+
+ </div>
+
+</div>
+
+
+
+<div class="row">
+
+ <div class="large-8 medium-8 columns">
+
+
+
+ <div id="doc-content">
+
+ <div id="preamble">
+<div class="sectionbody">
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+TODO
+</td>
+</tr>
+</table>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_visibility_see_it">Visibility ("see it")</h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="_hide_a_property">Hide a Property</h3>
+
+</div>
+<div class="sect2">
+<h3 id="_hide_a_collection">Hide a Collection</h3>
+
+</div>
+<div class="sect2">
+<h3 id="_hide_an_action">Hide an Action</h3>
+
+</div>
+<div class="sect2">
+<h3 id="_hide_a_contributed_property_collection_or_action">Hide a Contributed Property, Collection or Action</h3>
+
+</div>
+<div class="sect2">
+<h3 id="_all_members_hidden">All Members Hidden</h3>
+
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_usability_use_it">Usability ("use it")</h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="_disable_a_property">Disable a Property</h3>
+
+</div>
+<div class="sect2">
+<h3 id="_disable_a_collection">Disable a Collection</h3>
+
+</div>
+<div class="sect2">
+<h3 id="_disable_an_action">Disable an Action</h3>
+
+</div>
+<div class="sect2">
+<h3 id="_disable_a_contributed_property_collection_or_action">Disable a Contributed Property, Collection or Action</h3>
+
+</div>
+<div class="sect2">
+<h3 id="_all_members_unmodifiable_disabling_the_edit_button">All Members Unmodifiable (Disabling the Edit Button)</h3>
+<div class="paragraph">
+<p>Sometimes an object is unmodifiable.</p>
+</div>
+<div class="paragraph">
+<p>In the Wicket viewer this means disabling the edit button.</p>
+</div>
+<div class="sect3">
+<h4 id="_declarative">Declarative</h4>
+<div class="paragraph">
+<p><code>@DomainObject(editing=…​)</code></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_imperative">Imperative</h4>
+
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_validity_do_it">Validity ("do it")</h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="_validate_change_to_a_property">Validate (change to) a Property</h3>
+
+</div>
+<div class="sect2">
+<h3 id="_validate_adding_or_removing_from_a_collection">Validate (adding or removing from) a Collection</h3>
+
+</div>
+<div class="sect2">
+<h3 id="_validate_arguments_to_invoke_an_action">Validate (arguments to invoke) an Action</h3>
+
+</div>
+<div class="sect2">
+<h3 id="_validating_a_contributed_property_collection_or_action">Validating a Contributed Property, Collection or Action</h3>
+
+</div>
+<div class="sect2">
+<h3 id="_declarative_validation_using_code_mustsatisfy_code">Declarative validation using <code>@MustSatisfy</code></h3>
+
+</div>
+</div>
+</div>
+
+ </div>
+
+
+
+ <hr>
+
+ <footer>
+
+ <p class="small">
+
+ Copyright © 2010~2015 The Apache Software Foundation, licensed under the Apache License, v2.0.
+
+ <br/>
+
+ Apache, the Apache feather logo, Apache Isis, and the Apache Isis project logo are all trademarks of The Apache Software Foundation.
+
+ </p>
+
+ </footer>
+
+
+
+ </div>
+
+
+
+ <div class="large-4 medium-4 columns">
+
+ <!-- the 'hide' class is removed by Javascript -->
+
+ <div id="toc" class="toc2 hide">
+
+ <ul class="sectlevel1">
+<li><a href="#_visibility_see_it">Visibility ("see it")</a>
+<ul class="sectlevel2">
+<li><a href="#_hide_a_property">Hide a Property</a></li>
+<li><a href="#_hide_a_collection">Hide a Collection</a></li>
+<li><a href="#_hide_an_action">Hide an Action</a></li>
+<li><a href="#_hide_a_contributed_property_collection_or_action">Hide a Contributed Property, Collection or Action</a></li>
+<li><a href="#_all_members_hidden">All Members Hidden</a></li>
+</ul>
+</li>
+<li><a href="#_usability_use_it">Usability ("use it")</a>
+<ul class="sectlevel2">
+<li><a href="#_disable_a_property">Disable a Property</a></li>
+<li><a href="#_disable_a_collection">Disable a Collection</a></li>
+<li><a href="#_disable_an_action">Disable an Action</a></li>
+<li><a href="#_disable_a_contributed_property_collection_or_action">Disable a Contributed Property, Collection or Action</a></li>
+<li><a href="#_all_members_unmodifiable_disabling_the_edit_button">All Members Unmodifiable (Disabling the Edit Button)</a>
+<ul class="sectlevel3">
+<li><a href="#_declarative">Declarative</a></li>
+<li><a href="#_imperative">Imperative</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li><a href="#_validity_do_it">Validity ("do it")</a>
+<ul class="sectlevel2">
+<li><a href="#_validate_change_to_a_property">Validate (change to) a Property</a></li>
+<li><a href="#_validate_adding_or_removing_from_a_collection">Validate (adding or removing from) a Collection</a></li>
+<li><a href="#_validate_arguments_to_invoke_an_action">Validate (arguments to invoke) an Action</a></li>
+<li><a href="#_validating_a_contributed_property_collection_or_action">Validating a Contributed Property, Collection or Action</a></li>
+<li><a href="#_declarative_validation_using_code_mustsatisfy_code">Declarative validation using <code>@MustSatisfy</code></a></li>
+</ul>
+</li>
+</ul>
+
+ </div>
+
+ </div>
+
+</div>
+
+
+
+
+
+ <script src="../js/foundation/5.5.1/vendor/jquery.js"></script>
+
+ <script src="../js/foundation/5.5.1/foundation.min.js"></script>
+
+
+
+
+
+<script type="text/javascript">
+
+ $(document).foundation();
+
+
+
+ $(document).ready(function(){
+
+ // Cache selectors
+
+ var lastId,
+
+ topMenu = $("div#toc ul"),
+
+ topMenuHeight = 70,
+
+
+
+ menuItems = topMenu.find("a"),
+
+ menuItemsHrefs = menuItems.map(function(){
+
+ var item = $($(this).attr("href"));
+
+ if (item.length) { return item; }
+
+ });
+
+
+
+ // Bind click handler to menu items to scroll animation
+
+ menuItems.click(function(e){
+
+ var href = $(this).attr("href"),
+
+ offsetTop = href === "#" ? 0 : $(href).offset().top-topMenuHeight+1;
+
+ $('html, body').stop().animate({
+
+ scrollTop: offsetTop
+
+ }, 300);
+
+
+
+ e.preventDefault();
+
+ });
+
+
+
+ // Bind to scroll of window
+
+ $( window ).scroll(function(){
+
+
+
+ // Get container scroll position
+
+ var fromTop = $(this).scrollTop()+topMenuHeight;
+
+
+
+ var cur = menuItemsHrefs.map(function(){
+
+ if ($(this).offset().top < fromTop)
+
+ return this;
+
+ });
+
+
+
+ // Get the id of the current element
+
+ cur = cur[cur.length-1];
+
+
+
+ var id = cur && cur.length ? cur[0].id : "";
+
+
+
+ //console.log("id = " + id + ", lastId = " + lastId);
+
+
+
+ if (lastId !== id && id) {
+
+ scrollTo(id);
+
+ }
+
+ });
+
+
+
+ scrollTo = function(id) {
+
+ lastId = id;
+
+
+
+ menuItems
+
+ .removeClass("active");
+
+
+
+ menuItems
+
+ .parents()
+
+ .removeClass("active-region");
+
+
+
+ menuItems
+
+ .parents("ul").hide();
+
+
+
+ menuItems
+
+ .filter("[href=#"+id+"]")
+
+ .addClass("active");
+
+
+
+ menuItems
+
+ .filter("[href=#"+id+"]")
+
+ .parents("ul").show();
+
+
+
+ menuItems
+
+ .filter("[href=#"+id+"]")
+
+ .parent().children("ul").show();
+
+
+
+ menuItems
+
+ .filter("[href=#"+id+"]")
+
+ .parents("li").addClass("active-region");
+
+
+
+ }
+
+ menuItems
+
+ .removeClass("active");
+
+
+
+ menuItems
+
+ .parents()
+
+ .removeClass("active-region");
+
+
+
+ var syncMenuItem;
+
+ if(window.location.hash!=="") {
+
+ var menuItemFor = $.grep(menuItems, function(e) {
+
+ return e.hash === window.location.hash;
+
+ });
+
+ console.log(menuItemFor);
+
+ if(menuItemFor.length === 1) {
+
+ syncMenuItem = menuItemFor[0];
+
+ }
+
+ }
+
+
+
+ if(!syncMenuItem){
+
+ syncMenuItem = menuItems[0];
+
+ }
+
+
+
+ $("#toc").removeClass("hide");
+
+
+
+ $(syncMenuItem).click();
+
+
+
+ });
+
+
+
+
+
+</script>
+
+
+
+
+
+</body>
+
+</html>
\ No newline at end of file
Added: isis/site/trunk/content/docs/user-guide/user-guide-how-tos-class-structure.html
URL: http://svn.apache.org/viewvc/isis/site/trunk/content/docs/user-guide/user-guide-how-tos-class-structure.html?rev=1673966&view=auto
==============================================================================
--- isis/site/trunk/content/docs/user-guide/user-guide-how-tos-class-structure.html (added)
+++ isis/site/trunk/content/docs/user-guide/user-guide-how-tos-class-structure.html Wed Apr 15 21:39:44 2015
@@ -0,0 +1,1017 @@
+<!doctype html>
+
+<html class="no-js" lang="en">
+
+<head>
+
+ <meta charset="utf-8"/>
+
+ <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
+
+
+
+ <title>User Guide: How-tos: Class Members</title>
+
+
+
+ <!--
+
+ Licensed to the Apache Software Foundation (ASF) under one
+
+ or more contributor license agreements. See the NOTICE file
+
+ distributed with this work for additional information
+
+ regarding copyright ownership. The ASF licenses this file
+
+ to you under the Apache License, Version 2.0 (the
+
+ "License"); you may not use this file except in compliance
+
+ with the License. You may obtain a copy of the License at
+
+
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+
+
+ Unless required by applicable law or agreed to in writing,
+
+ software distributed under the License is distributed on an
+
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+
+ KIND, either express or implied. See the License for the
+
+ specific language governing permissions and limitations
+
+ under the License.
+
+ -->
+
+
+
+ <!-- No caching headers -->
+
+ <meta http-equiv="cache-control" content="no-cache" />
+
+ <meta http-equiv="pragma" content="no-cache" />
+
+ <meta http-equiv="expires" content="-1" />
+
+
+
+
+
+ <link rel="stylesheet" href="../css/foundation/5.5.1/foundation.css"/>
+
+ <script src="../js/foundation/5.5.1/vendor/modernizr.js"></script>
+
+
+
+ <link href="../css/asciidoctor/stylesheets/foundation-potion.css" rel="stylesheet">
+
+
+
+ <link href="../css/font-awesome/4.3.0/css/font-awesome.min.css" rel="stylesheet">
+
+
+
+ <style type="text/css">
+
+ #forkongithub a{
+
+ display: none;
+
+ background:#090;
+
+ color:#fff;
+
+ text-decoration:none;
+
+ font-family:arial, sans-serif;
+
+ text-align:center;
+
+ font-weight:bold;
+
+ padding:5px 40px;
+
+ font-size:1rem;
+
+ line-height:2rem;
+
+ position:relative;
+
+ transition:0.5s;
+
+ }
+
+ #forkongithub a:hover{
+
+ background:#0D0;
+
+ color:#fff;
+
+ }
+
+ #forkongithub a::before,
+
+ #forkongithub a::after{
+
+ content:"";width:100%;
+
+ display:block;
+
+ position:fixed;
+
+ top:1px;
+
+ left:0;
+
+ height:1px;
+
+ background:#fff;
+
+ z-index: 9999;
+
+ }
+
+ #forkongithub a::after{
+
+ bottom:1px;
+
+ top:auto;
+
+ }
+
+ @media screen and (min-width:768px){
+
+ #forkongithub{
+
+ position:fixed;
+
+ display:block;
+
+ top:0;
+
+ right:0;
+
+ width:250px;
+
+ overflow:hidden;
+
+ height:250px;
+
+ z-index: 9999;
+
+ }
+
+ #forkongithub a{
+
+ display:inherit;
+
+ width:250px;
+
+ position:fixed;
+
+ font-size:small;
+
+ top:40px;
+
+ right:-60px;
+
+ transform:rotate(45deg);
+
+ -webkit-transform:rotate(45deg);
+
+ -ms-transform:rotate(45deg);
+
+ box-shadow:4px 4px 10px rgba(0,0,0,0.8);
+
+ }
+
+ }
+
+ </style>
+
+
+
+ <style>
+
+ body {
+
+ position: relative;
+
+ }
+
+
+
+ body div#toc li,
+
+ body div#toc2 li {
+
+ list-style-type: none;
+
+ }
+
+
+
+ div#doc-content {
+
+ margin-top: 30px;
+
+ }
+
+
+
+ body div#toc li.active-region:before,
+
+ body div#toc2 li.active-region:before {
+
+ content: "\00BB \0020";
+
+ margin-left: -12px;
+
+ }
+
+
+
+ body div#toc li a.active,
+
+ body div#toc2 li a.active {
+
+ color: red;
+
+ }
+
+
+
+ body div#toc.toc,
+
+ body div#toc.toc2 {
+
+ position: fixed;
+
+ left: auto;
+
+ padding-top: 120px;
+
+ z-index: auto;
+
+ background-color: white;
+
+ border-left-color: #eee;
+
+ border-left-style: solid;
+
+ border-right: none;
+
+ }
+
+ </style>
+
+
+
+</head>
+
+<body>
+
+
+
+ <span id="forkongithub">
+
+ <a href="https://github.com/apache/isis">Fork me on GitHub</a>
+
+ </span>
+
+
+
+<div class="row">
+
+
+
+ <div class="fixed contain-to-grid">
+
+ <nav class="top-bar" data-topbar role="navigation">
+
+ <ul class="title-area">
+
+ <li class="name">
+
+ <h1>
+
+ <a href="/index.html">Apache Isis™</a>
+
+ </h1>
+
+ </li>
+
+ <!-- Remove the class "menu-icon" to get rid of menu icon. Take out "Menu" to just have icon alone -->
+
+ <li class="toggle-topbar menu-icon"><a href="#"><span>Menu</span></a></li>
+
+ </ul>
+
+
+
+ <section class="top-bar-section">
+
+ <ul class="right">
+
+
+
+ <li class="has-form">
+
+ <FORM class="searchbox navbar-form navbar-right" id="searchbox_012614087480249044419:dn-q5gtwxya" action="http://www.google.com/cse">
+
+ <div class="row collapse">
+
+ <input type="hidden" name="cx" value="012614087480249044419:dn-q5gtwxya">
+
+ <INPUT type="hidden" name="cof" value="FORID:0">
+
+ <INPUT class="form-control" name="q" type="text" placeholder="Search">
+
+ </div>
+
+ </FORM>
+
+ </li>
+
+
+
+ </ul>
+
+
+
+ <!-- Left Nav Section -->
+
+ <ul class="left">
+
+
+
+ <li class="has-dropdown">
+
+ <a href="#" >Demos</b></a>
+
+ <ul class="dropdown">
+
+ <li><a href="/intro/elevator-pitch/isis-in-pictures.html">Screenshots</a></li>
+
+ <li><a href="/intro/tutorials/screencasts.html">Screencasts <img src="/images/tv_show-25.png"></a></li>
+
+ <li><a href="/intro/powered-by/powered-by.html">Powered by</a></li>
+
+ <li><a href="http://isisdemo.mmyco.co.uk/" target="_blank">Online Demo</a></li>
+
+ </ul>
+
+ </li>
+
+
+
+ <li><a href="/documentation">Documentation</a></li>
+
+
+
+ <li class="has-dropdown">
+
+ <a href="#">Downloads</a>
+
+ <ul class="dropdown">
+
+ <li><a href="/intro/getting-started/simpleapp-archetype.html">Isis (Maven archetype)</a></li>
+
+ <li><a href="/download.html">Isis (downloads)</a></li>
+
+ <li><a href="http://www.isisaddons.org" target="_blank">Isis Add-ons (not ASF)</a></li>
+
+ </ul>
+
+ </li>
+
+
+
+ <li class="has-dropdown">
+
+ <a href="#">Help</a>
+
+ <ul class="dropdown">
+
+ <li><a href="/support.html">Mailing Lists</a></li>
+
+ <li><a href="http://isis.markmail.org/search/?q=" target="_blank">Mailing List Archives</a></li>
+
+ <li><a href="https://issues.apache.org/jira/browse/ISIS" target="_blank">JIRA</a></li>
+
+ <li><a href="http://github.com/apache/isis" target="_blank">Github mirror</a></li>
+
+ <li><a href="http://stackoverflow.com/questions/tagged/isis" target="_blank">Stack Overflow</a></li>
+
+ <li><a href="/contributors/contributing.html">How to contribute</a></li>
+
+ </ul>
+
+ </li>
+
+
+
+ <li class="has-dropdown">
+
+ <a href="#" >@ASF</a>
+
+ <ul class="dropdown">
+
+ <li>
+
+ <a href="http://www.apache.org/" target="_blank">Apache Homepage <i class="icon-share-alt"></i></a>
+
+ </li>
+
+ <li>
+
+ <a href="http://www.apache.org/licenses/" target="_blank">Licenses <i class="icon-share-alt"></i></a>
+
+ </li>
+
+ <li>
+
+ <a href="http://www.apache.org/security/" target="_blank">Security <i class="icon-share-alt"></i></a>
+
+ </li>
+
+ <li>
+
+ <a href="http://www.apache.org/foundation/sponsorship.html" target="_blank">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="{{base}}more-thanks.html">More thanks <i class="icon-share-alt"></i></a>
+
+ </li>
+
+ </ul>
+
+ </li>
+
+
+
+ </ul>
+
+
+
+ </section>
+
+ </nav>
+
+ </div>
+
+</div>
+
+
+
+<div class="row">
+
+ <div class="large-8 medium-8 columns">
+
+
+
+ <div id="doc-content">
+
+ <div id="preamble">
+<div class="sectionbody">
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+TODO
+</td>
+</tr>
+</table>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_class_definition">Class Definition</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Classes are defined both to Isis and (if any entity) also to JDO/DataNucleus.</p>
+</div>
+<div class="paragraph">
+<p>We use Java packages as a way to group related domain objects together; the package name forms a namespace. We can then reason about all the classes in that package/namespace as a single unit.</p>
+</div>
+<div class="paragraph">
+<p>In the same way that Java packages act as a namespace for domain objects, it’s good practice to map domain entities to their own (database) schemas.</p>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>As of 1.9.0-SNAPSHOT, all the IsisAddons modules (not ASF) define their own (database) schemas.</p>
+</div>
+<div class="paragraph">
+<p>For example:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="java"><span class="annotation">@javax</span>.jdo.annotations.PersistenceCapable( ...
+ schema = <span class="string"><span class="delimiter">"</span><span class="content">isissecurity</span><span class="delimiter">"</span></span>,
+ table = <span class="string"><span class="delimiter">"</span><span class="content">ApplicationUser</span><span class="delimiter">"</span></span>)
+<span class="directive">public</span> <span class="type">class</span> <span class="class">ApplicationUser</span> ... { ... }</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>and</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="java"><span class="annotation">@javax</span>.jdo.annotations.PersistenceCapable( ...
+ schema = <span class="string"><span class="delimiter">"</span><span class="content">isisaudit</span><span class="delimiter">"</span></span>,
+ table=<span class="string"><span class="delimiter">"</span><span class="content">AuditEntry</span><span class="delimiter">"</span></span>)
+<span class="directive">public</span> <span class="type">class</span> <span class="class">AuditEntry</span> ... { ... }</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>This results in CREATE TABLE statements such as:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="sql"><span class="class">CREATE</span> <span class="type">TABLE</span> isissecurity.<span class="string"><span class="delimiter">"</span><span class="content">ApplicationUser</span><span class="delimiter">"</span></span> (
+ ...
+)</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>and</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="sql"><span class="class">CREATE</span> <span class="type">TABLE</span> isisaudit.<span class="string"><span class="delimiter">"</span><span class="content">AuditEntry</span><span class="delimiter">"</span></span> (
+ ...
+)</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>If you don’t want to use schemas, then note that you can override the <code>@PersistenceCapable</code> annotation by providing XML annotations (<code>mappings.jdo</code> files).</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_property">Property</h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="_value_vs_reference_types">Value vs Reference Types</h3>
+<div class="paragraph">
+<p>The annotations for mapping value types tend to be different for properties vs action parameters, because JDO annotations are only valid on properties. The table in <a href="#Mapping Value Types">[Mapping Value Types]</a> provides a handy reference for the each.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_optional_properties">Optional Properties</h3>
+
+</div>
+<div class="sect2">
+<h3 id="_mapping_string_length">Mapping String (Length)</h3>
+
+</div>
+<div class="sect2">
+<h3 id="_mapping_joda_dates">Mapping JODA Dates</h3>
+
+</div>
+<div class="sect2">
+<h3 id="_mapping_bigdecimals">Mapping BigDecimals</h3>
+
+</div>
+<div class="sect2">
+<h3 id="_mapping_blobs">Mapping Blobs</h3>
+
+</div>
+<div class="sect2">
+<h3 id="_mapping_passwords">Mapping Passwords</h3>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+<div class="title">Lazy Loading</div>
+
+</td>
+</tr>
+</table>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_collection">Collection</h2>
+<div class="sectionbody">
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>While Isis support collections of references, the framework (currently) does not support collections of values. That is, it isn’t possible to define a collection of type <code>Set<String></code>.</p>
+</div>
+<div class="paragraph">
+<p>Or, actually, you can, because that is a valid mapping supported by JDO/DataNucleus . However, Isis has no default visualization.</p>
+</div>
+<div class="paragraph">
+<p>The workaround is to mark the collection as <code>@Programmatic</code>, as described in <a href="#Ignoring Methods">[Ignoring Methods]</a>. This ensures that the collection is ignored by Isis.
+===</p>
+</div>
+<div class="paragraph">
+<p>## Actions</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p>While Isis support actions whose parameters' types are scalar (values such as <code>String</code>, <code>int</code>, or references such as <code>Customer</code>), the framework (currently) does not support parameter types that are collections or maps.</p>
+</div>
+<div class="paragraph">
+<p>The workaround is to mark the collection as <code>@Programmatic</code>, as described in <a href="#Ignoring Methods">[Ignoring Methods]</a>. This ensures that the collection is ignored by Isis.</p>
+</div>
+<div class="exampleblock">
+<div class="content">
+<div class="paragraph">
+<p><mark>#</mark> Optional Action Argument</p>
+</div>
+<div class="paragraph">
+<p>## String Length Of Action Parameter</p>
+</div>
+<div class="paragraph">
+<p>## BigDecimal Precision Of Action Parameter</p>
+</div>
+<div class="paragraph">
+<p><mark>#</mark> Mapping String (Length)</p>
+</div>
+<div class="paragraph">
+<p><mark>#</mark> Mapping JODA Dates</p>
+</div>
+<div class="paragraph">
+<p><mark>#</mark> Mapping BigDecimals</p>
+</div>
+<div class="paragraph">
+<p><mark>#</mark> Mapping Blobs</p>
+</div>
+<div class="paragraph">
+<p>## Mapping Value Types</p>
+</div>
+<div class="paragraph">
+<p>table of:
+.
+|value type
+|property
+|action parameter</p>
+</div>
+<div class="paragraph">
+<p>|string (length)
+|
+|</p>
+</div>
+<div class="paragraph">
+<p>|big decimal (precision)
+|
+|</p>
+</div>
+<div class="paragraph">
+<p>|Isis blob
+|
+|</p>
+</div>
+<div class="paragraph">
+<p>|optional
+|<code>@Column(allowsNull="true")</code>
+|<code>ParameterLayout(optionality=Optionality.OPTIONAL</code>) or <code>@Optional</code></p>
+</div>
+<div class="paragraph">
+<p>## Ignoring Methods</p>
+</div>
+<div class="paragraph">
+<p>Sometimes you want to define a <code>public</code> method on a domain object that is not intended to be rendered in Isis' UI.</p>
+</div>
+<div class="paragraph">
+<p>To exclude such methods, use the <code>@Programmatic</code> annotation.</p>
+</div>
+</div>
+</div>
+</div>
+</div>
+
+ </div>
+
+
+
+ <hr>
+
+ <footer>
+
+ <p class="small">
+
+ Copyright © 2010~2015 The Apache Software Foundation, licensed under the Apache License, v2.0.
+
+ <br/>
+
+ Apache, the Apache feather logo, Apache Isis, and the Apache Isis project logo are all trademarks of The Apache Software Foundation.
+
+ </p>
+
+ </footer>
+
+
+
+ </div>
+
+
+
+ <div class="large-4 medium-4 columns">
+
+ <!-- the 'hide' class is removed by Javascript -->
+
+ <div id="toc" class="toc2 hide">
+
+ <ul class="sectlevel1">
+<li><a href="#_class_definition">Class Definition</a></li>
+<li><a href="#_property">Property</a>
+<ul class="sectlevel2">
+<li><a href="#_value_vs_reference_types">Value vs Reference Types</a></li>
+<li><a href="#_optional_properties">Optional Properties</a></li>
+<li><a href="#_mapping_string_length">Mapping String (Length)</a></li>
+<li><a href="#_mapping_joda_dates">Mapping JODA Dates</a></li>
+<li><a href="#_mapping_bigdecimals">Mapping BigDecimals</a></li>
+<li><a href="#_mapping_blobs">Mapping Blobs</a></li>
+<li><a href="#_mapping_passwords">Mapping Passwords</a></li>
+</ul>
+</li>
+<li><a href="#_collection">Collection</a></li>
+</ul>
+
+ </div>
+
+ </div>
+
+</div>
+
+
+
+
+
+ <script src="../js/foundation/5.5.1/vendor/jquery.js"></script>
+
+ <script src="../js/foundation/5.5.1/foundation.min.js"></script>
+
+
+
+
+
+<script type="text/javascript">
+
+ $(document).foundation();
+
+
+
+ $(document).ready(function(){
+
+ // Cache selectors
+
+ var lastId,
+
+ topMenu = $("div#toc ul"),
+
+ topMenuHeight = 70,
+
+
+
+ menuItems = topMenu.find("a"),
+
+ menuItemsHrefs = menuItems.map(function(){
+
+ var item = $($(this).attr("href"));
+
+ if (item.length) { return item; }
+
+ });
+
+
+
+ // Bind click handler to menu items to scroll animation
+
+ menuItems.click(function(e){
+
+ var href = $(this).attr("href"),
+
+ offsetTop = href === "#" ? 0 : $(href).offset().top-topMenuHeight+1;
+
+ $('html, body').stop().animate({
+
+ scrollTop: offsetTop
+
+ }, 300);
+
+
+
+ e.preventDefault();
+
+ });
+
+
+
+ // Bind to scroll of window
+
+ $( window ).scroll(function(){
+
+
+
+ // Get container scroll position
+
+ var fromTop = $(this).scrollTop()+topMenuHeight;
+
+
+
+ var cur = menuItemsHrefs.map(function(){
+
+ if ($(this).offset().top < fromTop)
+
+ return this;
+
+ });
+
+
+
+ // Get the id of the current element
+
+ cur = cur[cur.length-1];
+
+
+
+ var id = cur && cur.length ? cur[0].id : "";
+
+
+
+ //console.log("id = " + id + ", lastId = " + lastId);
+
+
+
+ if (lastId !== id && id) {
+
+ scrollTo(id);
+
+ }
+
+ });
+
+
+
+ scrollTo = function(id) {
+
+ lastId = id;
+
+
+
+ menuItems
+
+ .removeClass("active");
+
+
+
+ menuItems
+
+ .parents()
+
+ .removeClass("active-region");
+
+
+
+ menuItems
+
+ .parents("ul").hide();
+
+
+
+ menuItems
+
+ .filter("[href=#"+id+"]")
+
+ .addClass("active");
+
+
+
+ menuItems
+
+ .filter("[href=#"+id+"]")
+
+ .parents("ul").show();
+
+
+
+ menuItems
+
+ .filter("[href=#"+id+"]")
+
+ .parent().children("ul").show();
+
+
+
+ menuItems
+
+ .filter("[href=#"+id+"]")
+
+ .parents("li").addClass("active-region");
+
+
+
+ }
+
+ menuItems
+
+ .removeClass("active");
+
+
+
+ menuItems
+
+ .parents()
+
+ .removeClass("active-region");
+
+
+
+ var syncMenuItem;
+
+ if(window.location.hash!=="") {
+
+ var menuItemFor = $.grep(menuItems, function(e) {
+
+ return e.hash === window.location.hash;
+
+ });
+
+ console.log(menuItemFor);
+
+ if(menuItemFor.length === 1) {
+
+ syncMenuItem = menuItemFor[0];
+
+ }
+
+ }
+
+
+
+ if(!syncMenuItem){
+
+ syncMenuItem = menuItems[0];
+
+ }
+
+
+
+ $("#toc").removeClass("hide");
+
+
+
+ $(syncMenuItem).click();
+
+
+
+ });
+
+
+
+
+
+</script>
+
+
+
+
+
+</body>
+
+</html>
\ No newline at end of file
Added: isis/site/trunk/content/docs/user-guide/user-guide-how-tos-contributed-members.html
URL: http://svn.apache.org/viewvc/isis/site/trunk/content/docs/user-guide/user-guide-how-tos-contributed-members.html?rev=1673966&view=auto
==============================================================================
--- isis/site/trunk/content/docs/user-guide/user-guide-how-tos-contributed-members.html (added)
+++ isis/site/trunk/content/docs/user-guide/user-guide-how-tos-contributed-members.html Wed Apr 15 21:39:44 2015
@@ -0,0 +1,806 @@
+<!doctype html>
+
+<html class="no-js" lang="en">
+
+<head>
+
+ <meta charset="utf-8"/>
+
+ <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
+
+
+
+ <title>User Guide: How-tos: Contributed Members</title>
+
+
+
+ <!--
+
+ Licensed to the Apache Software Foundation (ASF) under one
+
+ or more contributor license agreements. See the NOTICE file
+
+ distributed with this work for additional information
+
+ regarding copyright ownership. The ASF licenses this file
+
+ to you under the Apache License, Version 2.0 (the
+
+ "License"); you may not use this file except in compliance
+
+ with the License. You may obtain a copy of the License at
+
+
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+
+
+ Unless required by applicable law or agreed to in writing,
+
+ software distributed under the License is distributed on an
+
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+
+ KIND, either express or implied. See the License for the
+
+ specific language governing permissions and limitations
+
+ under the License.
+
+ -->
+
+
+
+ <!-- No caching headers -->
+
+ <meta http-equiv="cache-control" content="no-cache" />
+
+ <meta http-equiv="pragma" content="no-cache" />
+
+ <meta http-equiv="expires" content="-1" />
+
+
+
+
+
+ <link rel="stylesheet" href="../css/foundation/5.5.1/foundation.css"/>
+
+ <script src="../js/foundation/5.5.1/vendor/modernizr.js"></script>
+
+
+
+ <link href="../css/asciidoctor/stylesheets/foundation-potion.css" rel="stylesheet">
+
+
+
+ <link href="../css/font-awesome/4.3.0/css/font-awesome.min.css" rel="stylesheet">
+
+
+
+ <style type="text/css">
+
+ #forkongithub a{
+
+ display: none;
+
+ background:#090;
+
+ color:#fff;
+
+ text-decoration:none;
+
+ font-family:arial, sans-serif;
+
+ text-align:center;
+
+ font-weight:bold;
+
+ padding:5px 40px;
+
+ font-size:1rem;
+
+ line-height:2rem;
+
+ position:relative;
+
+ transition:0.5s;
+
+ }
+
+ #forkongithub a:hover{
+
+ background:#0D0;
+
+ color:#fff;
+
+ }
+
+ #forkongithub a::before,
+
+ #forkongithub a::after{
+
+ content:"";width:100%;
+
+ display:block;
+
+ position:fixed;
+
+ top:1px;
+
+ left:0;
+
+ height:1px;
+
+ background:#fff;
+
+ z-index: 9999;
+
+ }
+
+ #forkongithub a::after{
+
+ bottom:1px;
+
+ top:auto;
+
+ }
+
+ @media screen and (min-width:768px){
+
+ #forkongithub{
+
+ position:fixed;
+
+ display:block;
+
+ top:0;
+
+ right:0;
+
+ width:250px;
+
+ overflow:hidden;
+
+ height:250px;
+
+ z-index: 9999;
+
+ }
+
+ #forkongithub a{
+
+ display:inherit;
+
+ width:250px;
+
+ position:fixed;
+
+ font-size:small;
+
+ top:40px;
+
+ right:-60px;
+
+ transform:rotate(45deg);
+
+ -webkit-transform:rotate(45deg);
+
+ -ms-transform:rotate(45deg);
+
+ box-shadow:4px 4px 10px rgba(0,0,0,0.8);
+
+ }
+
+ }
+
+ </style>
+
+
+
+ <style>
+
+ body {
+
+ position: relative;
+
+ }
+
+
+
+ body div#toc li,
+
+ body div#toc2 li {
+
+ list-style-type: none;
+
+ }
+
+
+
+ div#doc-content {
+
+ margin-top: 30px;
+
+ }
+
+
+
+ body div#toc li.active-region:before,
+
+ body div#toc2 li.active-region:before {
+
+ content: "\00BB \0020";
+
+ margin-left: -12px;
+
+ }
+
+
+
+ body div#toc li a.active,
+
+ body div#toc2 li a.active {
+
+ color: red;
+
+ }
+
+
+
+ body div#toc.toc,
+
+ body div#toc.toc2 {
+
+ position: fixed;
+
+ left: auto;
+
+ padding-top: 120px;
+
+ z-index: auto;
+
+ background-color: white;
+
+ border-left-color: #eee;
+
+ border-left-style: solid;
+
+ border-right: none;
+
+ }
+
+ </style>
+
+
+
+</head>
+
+<body>
+
+
+
+ <span id="forkongithub">
+
+ <a href="https://github.com/apache/isis">Fork me on GitHub</a>
+
+ </span>
+
+
+
+<div class="row">
+
+
+
+ <div class="fixed contain-to-grid">
+
+ <nav class="top-bar" data-topbar role="navigation">
+
+ <ul class="title-area">
+
+ <li class="name">
+
+ <h1>
+
+ <a href="/index.html">Apache Isis™</a>
+
+ </h1>
+
+ </li>
+
+ <!-- Remove the class "menu-icon" to get rid of menu icon. Take out "Menu" to just have icon alone -->
+
+ <li class="toggle-topbar menu-icon"><a href="#"><span>Menu</span></a></li>
+
+ </ul>
+
+
+
+ <section class="top-bar-section">
+
+ <ul class="right">
+
+
+
+ <li class="has-form">
+
+ <FORM class="searchbox navbar-form navbar-right" id="searchbox_012614087480249044419:dn-q5gtwxya" action="http://www.google.com/cse">
+
+ <div class="row collapse">
+
+ <input type="hidden" name="cx" value="012614087480249044419:dn-q5gtwxya">
+
+ <INPUT type="hidden" name="cof" value="FORID:0">
+
+ <INPUT class="form-control" name="q" type="text" placeholder="Search">
+
+ </div>
+
+ </FORM>
+
+ </li>
+
+
+
+ </ul>
+
+
+
+ <!-- Left Nav Section -->
+
+ <ul class="left">
+
+
+
+ <li class="has-dropdown">
+
+ <a href="#" >Demos</b></a>
+
+ <ul class="dropdown">
+
+ <li><a href="/intro/elevator-pitch/isis-in-pictures.html">Screenshots</a></li>
+
+ <li><a href="/intro/tutorials/screencasts.html">Screencasts <img src="/images/tv_show-25.png"></a></li>
+
+ <li><a href="/intro/powered-by/powered-by.html">Powered by</a></li>
+
+ <li><a href="http://isisdemo.mmyco.co.uk/" target="_blank">Online Demo</a></li>
+
+ </ul>
+
+ </li>
+
+
+
+ <li><a href="/documentation">Documentation</a></li>
+
+
+
+ <li class="has-dropdown">
+
+ <a href="#">Downloads</a>
+
+ <ul class="dropdown">
+
+ <li><a href="/intro/getting-started/simpleapp-archetype.html">Isis (Maven archetype)</a></li>
+
+ <li><a href="/download.html">Isis (downloads)</a></li>
+
+ <li><a href="http://www.isisaddons.org" target="_blank">Isis Add-ons (not ASF)</a></li>
+
+ </ul>
+
+ </li>
+
+
+
+ <li class="has-dropdown">
+
+ <a href="#">Help</a>
+
+ <ul class="dropdown">
+
+ <li><a href="/support.html">Mailing Lists</a></li>
+
+ <li><a href="http://isis.markmail.org/search/?q=" target="_blank">Mailing List Archives</a></li>
+
+ <li><a href="https://issues.apache.org/jira/browse/ISIS" target="_blank">JIRA</a></li>
+
+ <li><a href="http://github.com/apache/isis" target="_blank">Github mirror</a></li>
+
+ <li><a href="http://stackoverflow.com/questions/tagged/isis" target="_blank">Stack Overflow</a></li>
+
+ <li><a href="/contributors/contributing.html">How to contribute</a></li>
+
+ </ul>
+
+ </li>
+
+
+
+ <li class="has-dropdown">
+
+ <a href="#" >@ASF</a>
+
+ <ul class="dropdown">
+
+ <li>
+
+ <a href="http://www.apache.org/" target="_blank">Apache Homepage <i class="icon-share-alt"></i></a>
+
+ </li>
+
+ <li>
+
+ <a href="http://www.apache.org/licenses/" target="_blank">Licenses <i class="icon-share-alt"></i></a>
+
+ </li>
+
+ <li>
+
+ <a href="http://www.apache.org/security/" target="_blank">Security <i class="icon-share-alt"></i></a>
+
+ </li>
+
+ <li>
+
+ <a href="http://www.apache.org/foundation/sponsorship.html" target="_blank">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="{{base}}more-thanks.html">More thanks <i class="icon-share-alt"></i></a>
+
+ </li>
+
+ </ul>
+
+ </li>
+
+
+
+ </ul>
+
+
+
+ </section>
+
+ </nav>
+
+ </div>
+
+</div>
+
+
+
+<div class="row">
+
+ <div class="large-8 medium-8 columns">
+
+
+
+ <div id="doc-content">
+
+ <div id="preamble">
+<div class="sectionbody">
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+TODO
+</td>
+</tr>
+</table>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_contributed_action">Contributed Action</h2>
+<div class="sectionbody">
+
+</div>
+</div>
+<div class="sect1">
+<h2 id="_contributed_property">Contributed Property</h2>
+<div class="sectionbody">
+
+</div>
+</div>
+<div class="sect1">
+<h2 id="_contributed_collection">Contributed Collection</h2>
+<div class="sectionbody">
+
+</div>
+</div>
+
+ </div>
+
+
+
+ <hr>
+
+ <footer>
+
+ <p class="small">
+
+ Copyright © 2010~2015 The Apache Software Foundation, licensed under the Apache License, v2.0.
+
+ <br/>
+
+ Apache, the Apache feather logo, Apache Isis, and the Apache Isis project logo are all trademarks of The Apache Software Foundation.
+
+ </p>
+
+ </footer>
+
+
+
+ </div>
+
+
+
+ <div class="large-4 medium-4 columns">
+
+ <!-- the 'hide' class is removed by Javascript -->
+
+ <div id="toc" class="toc2 hide">
+
+ <ul class="sectlevel1">
+<li><a href="#_contributed_action">Contributed Action</a></li>
+<li><a href="#_contributed_property">Contributed Property</a></li>
+<li><a href="#_contributed_collection">Contributed Collection</a></li>
+</ul>
+
+ </div>
+
+ </div>
+
+</div>
+
+
+
+
+
+ <script src="../js/foundation/5.5.1/vendor/jquery.js"></script>
+
+ <script src="../js/foundation/5.5.1/foundation.min.js"></script>
+
+
+
+
+
+<script type="text/javascript">
+
+ $(document).foundation();
+
+
+
+ $(document).ready(function(){
+
+ // Cache selectors
+
+ var lastId,
+
+ topMenu = $("div#toc ul"),
+
+ topMenuHeight = 70,
+
+
+
+ menuItems = topMenu.find("a"),
+
+ menuItemsHrefs = menuItems.map(function(){
+
+ var item = $($(this).attr("href"));
+
+ if (item.length) { return item; }
+
+ });
+
+
+
+ // Bind click handler to menu items to scroll animation
+
+ menuItems.click(function(e){
+
+ var href = $(this).attr("href"),
+
+ offsetTop = href === "#" ? 0 : $(href).offset().top-topMenuHeight+1;
+
+ $('html, body').stop().animate({
+
+ scrollTop: offsetTop
+
+ }, 300);
+
+
+
+ e.preventDefault();
+
+ });
+
+
+
+ // Bind to scroll of window
+
+ $( window ).scroll(function(){
+
+
+
+ // Get container scroll position
+
+ var fromTop = $(this).scrollTop()+topMenuHeight;
+
+
+
+ var cur = menuItemsHrefs.map(function(){
+
+ if ($(this).offset().top < fromTop)
+
+ return this;
+
+ });
+
+
+
+ // Get the id of the current element
+
+ cur = cur[cur.length-1];
+
+
+
+ var id = cur && cur.length ? cur[0].id : "";
+
+
+
+ //console.log("id = " + id + ", lastId = " + lastId);
+
+
+
+ if (lastId !== id && id) {
+
+ scrollTo(id);
+
+ }
+
+ });
+
+
+
+ scrollTo = function(id) {
+
+ lastId = id;
+
+
+
+ menuItems
+
+ .removeClass("active");
+
+
+
+ menuItems
+
+ .parents()
+
+ .removeClass("active-region");
+
+
+
+ menuItems
+
+ .parents("ul").hide();
+
+
+
+ menuItems
+
+ .filter("[href=#"+id+"]")
+
+ .addClass("active");
+
+
+
+ menuItems
+
+ .filter("[href=#"+id+"]")
+
+ .parents("ul").show();
+
+
+
+ menuItems
+
+ .filter("[href=#"+id+"]")
+
+ .parent().children("ul").show();
+
+
+
+ menuItems
+
+ .filter("[href=#"+id+"]")
+
+ .parents("li").addClass("active-region");
+
+
+
+ }
+
+ menuItems
+
+ .removeClass("active");
+
+
+
+ menuItems
+
+ .parents()
+
+ .removeClass("active-region");
+
+
+
+ var syncMenuItem;
+
+ if(window.location.hash!=="") {
+
+ var menuItemFor = $.grep(menuItems, function(e) {
+
+ return e.hash === window.location.hash;
+
+ });
+
+ console.log(menuItemFor);
+
+ if(menuItemFor.length === 1) {
+
+ syncMenuItem = menuItemFor[0];
+
+ }
+
+ }
+
+
+
+ if(!syncMenuItem){
+
+ syncMenuItem = menuItems[0];
+
+ }
+
+
+
+ $("#toc").removeClass("hide");
+
+
+
+ $(syncMenuItem).click();
+
+
+
+ });
+
+
+
+
+
+</script>
+
+
+
+
+
+</body>
+
+</html>
\ No newline at end of file
Added: isis/site/trunk/content/docs/user-guide/user-guide-how-tos-crud.html
URL: http://svn.apache.org/viewvc/isis/site/trunk/content/docs/user-guide/user-guide-how-tos-crud.html?rev=1673966&view=auto
==============================================================================
--- isis/site/trunk/content/docs/user-guide/user-guide-how-tos-crud.html (added)
+++ isis/site/trunk/content/docs/user-guide/user-guide-how-tos-crud.html Wed Apr 15 21:39:44 2015
@@ -0,0 +1,813 @@
+<!doctype html>
+
+<html class="no-js" lang="en">
+
+<head>
+
+ <meta charset="utf-8"/>
+
+ <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
+
+
+
+ <title>User Guide: How-tos: Object Management (CRUD)</title>
+
+
+
+ <!--
+
+ Licensed to the Apache Software Foundation (ASF) under one
+
+ or more contributor license agreements. See the NOTICE file
+
+ distributed with this work for additional information
+
+ regarding copyright ownership. The ASF licenses this file
+
+ to you under the Apache License, Version 2.0 (the
+
+ "License"); you may not use this file except in compliance
+
+ with the License. You may obtain a copy of the License at
+
+
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+
+
+ Unless required by applicable law or agreed to in writing,
+
+ software distributed under the License is distributed on an
+
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+
+ KIND, either express or implied. See the License for the
+
+ specific language governing permissions and limitations
+
+ under the License.
+
+ -->
+
+
+
+ <!-- No caching headers -->
+
+ <meta http-equiv="cache-control" content="no-cache" />
+
+ <meta http-equiv="pragma" content="no-cache" />
+
+ <meta http-equiv="expires" content="-1" />
+
+
+
+
+
+ <link rel="stylesheet" href="../css/foundation/5.5.1/foundation.css"/>
+
+ <script src="../js/foundation/5.5.1/vendor/modernizr.js"></script>
+
+
+
+ <link href="../css/asciidoctor/stylesheets/foundation-potion.css" rel="stylesheet">
+
+
+
+ <link href="../css/font-awesome/4.3.0/css/font-awesome.min.css" rel="stylesheet">
+
+
+
+ <style type="text/css">
+
+ #forkongithub a{
+
+ display: none;
+
+ background:#090;
+
+ color:#fff;
+
+ text-decoration:none;
+
+ font-family:arial, sans-serif;
+
+ text-align:center;
+
+ font-weight:bold;
+
+ padding:5px 40px;
+
+ font-size:1rem;
+
+ line-height:2rem;
+
+ position:relative;
+
+ transition:0.5s;
+
+ }
+
+ #forkongithub a:hover{
+
+ background:#0D0;
+
+ color:#fff;
+
+ }
+
+ #forkongithub a::before,
+
+ #forkongithub a::after{
+
+ content:"";width:100%;
+
+ display:block;
+
+ position:fixed;
+
+ top:1px;
+
+ left:0;
+
+ height:1px;
+
+ background:#fff;
+
+ z-index: 9999;
+
+ }
+
+ #forkongithub a::after{
+
+ bottom:1px;
+
+ top:auto;
+
+ }
+
+ @media screen and (min-width:768px){
+
+ #forkongithub{
+
+ position:fixed;
+
+ display:block;
+
+ top:0;
+
+ right:0;
+
+ width:250px;
+
+ overflow:hidden;
+
+ height:250px;
+
+ z-index: 9999;
+
+ }
+
+ #forkongithub a{
+
+ display:inherit;
+
+ width:250px;
+
+ position:fixed;
+
+ font-size:small;
+
+ top:40px;
+
+ right:-60px;
+
+ transform:rotate(45deg);
+
+ -webkit-transform:rotate(45deg);
+
+ -ms-transform:rotate(45deg);
+
+ box-shadow:4px 4px 10px rgba(0,0,0,0.8);
+
+ }
+
+ }
+
+ </style>
+
+
+
+ <style>
+
+ body {
+
+ position: relative;
+
+ }
+
+
+
+ body div#toc li,
+
+ body div#toc2 li {
+
+ list-style-type: none;
+
+ }
+
+
+
+ div#doc-content {
+
+ margin-top: 30px;
+
+ }
+
+
+
+ body div#toc li.active-region:before,
+
+ body div#toc2 li.active-region:before {
+
+ content: "\00BB \0020";
+
+ margin-left: -12px;
+
+ }
+
+
+
+ body div#toc li a.active,
+
+ body div#toc2 li a.active {
+
+ color: red;
+
+ }
+
+
+
+ body div#toc.toc,
+
+ body div#toc.toc2 {
+
+ position: fixed;
+
+ left: auto;
+
+ padding-top: 120px;
+
+ z-index: auto;
+
+ background-color: white;
+
+ border-left-color: #eee;
+
+ border-left-style: solid;
+
+ border-right: none;
+
+ }
+
+ </style>
+
+
+
+</head>
+
+<body>
+
+
+
+ <span id="forkongithub">
+
+ <a href="https://github.com/apache/isis">Fork me on GitHub</a>
+
+ </span>
+
+
+
+<div class="row">
+
+
+
+ <div class="fixed contain-to-grid">
+
+ <nav class="top-bar" data-topbar role="navigation">
+
+ <ul class="title-area">
+
+ <li class="name">
+
+ <h1>
+
+ <a href="/index.html">Apache Isis™</a>
+
+ </h1>
+
+ </li>
+
+ <!-- Remove the class "menu-icon" to get rid of menu icon. Take out "Menu" to just have icon alone -->
+
+ <li class="toggle-topbar menu-icon"><a href="#"><span>Menu</span></a></li>
+
+ </ul>
+
+
+
+ <section class="top-bar-section">
+
+ <ul class="right">
+
+
+
+ <li class="has-form">
+
+ <FORM class="searchbox navbar-form navbar-right" id="searchbox_012614087480249044419:dn-q5gtwxya" action="http://www.google.com/cse">
+
+ <div class="row collapse">
+
+ <input type="hidden" name="cx" value="012614087480249044419:dn-q5gtwxya">
+
+ <INPUT type="hidden" name="cof" value="FORID:0">
+
+ <INPUT class="form-control" name="q" type="text" placeholder="Search">
+
+ </div>
+
+ </FORM>
+
+ </li>
+
+
+
+ </ul>
+
+
+
+ <!-- Left Nav Section -->
+
+ <ul class="left">
+
+
+
+ <li class="has-dropdown">
+
+ <a href="#" >Demos</b></a>
+
+ <ul class="dropdown">
+
+ <li><a href="/intro/elevator-pitch/isis-in-pictures.html">Screenshots</a></li>
+
+ <li><a href="/intro/tutorials/screencasts.html">Screencasts <img src="/images/tv_show-25.png"></a></li>
+
+ <li><a href="/intro/powered-by/powered-by.html">Powered by</a></li>
+
+ <li><a href="http://isisdemo.mmyco.co.uk/" target="_blank">Online Demo</a></li>
+
+ </ul>
+
+ </li>
+
+
+
+ <li><a href="/documentation">Documentation</a></li>
+
+
+
+ <li class="has-dropdown">
+
+ <a href="#">Downloads</a>
+
+ <ul class="dropdown">
+
+ <li><a href="/intro/getting-started/simpleapp-archetype.html">Isis (Maven archetype)</a></li>
+
+ <li><a href="/download.html">Isis (downloads)</a></li>
+
+ <li><a href="http://www.isisaddons.org" target="_blank">Isis Add-ons (not ASF)</a></li>
+
+ </ul>
+
+ </li>
+
+
+
+ <li class="has-dropdown">
+
+ <a href="#">Help</a>
+
+ <ul class="dropdown">
+
+ <li><a href="/support.html">Mailing Lists</a></li>
+
+ <li><a href="http://isis.markmail.org/search/?q=" target="_blank">Mailing List Archives</a></li>
+
+ <li><a href="https://issues.apache.org/jira/browse/ISIS" target="_blank">JIRA</a></li>
+
+ <li><a href="http://github.com/apache/isis" target="_blank">Github mirror</a></li>
+
+ <li><a href="http://stackoverflow.com/questions/tagged/isis" target="_blank">Stack Overflow</a></li>
+
+ <li><a href="/contributors/contributing.html">How to contribute</a></li>
+
+ </ul>
+
+ </li>
+
+
+
+ <li class="has-dropdown">
+
+ <a href="#" >@ASF</a>
+
+ <ul class="dropdown">
+
+ <li>
+
+ <a href="http://www.apache.org/" target="_blank">Apache Homepage <i class="icon-share-alt"></i></a>
+
+ </li>
+
+ <li>
+
+ <a href="http://www.apache.org/licenses/" target="_blank">Licenses <i class="icon-share-alt"></i></a>
+
+ </li>
+
+ <li>
+
+ <a href="http://www.apache.org/security/" target="_blank">Security <i class="icon-share-alt"></i></a>
+
+ </li>
+
+ <li>
+
+ <a href="http://www.apache.org/foundation/sponsorship.html" target="_blank">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="{{base}}more-thanks.html">More thanks <i class="icon-share-alt"></i></a>
+
+ </li>
+
+ </ul>
+
+ </li>
+
+
+
+ </ul>
+
+
+
+ </section>
+
+ </nav>
+
+ </div>
+
+</div>
+
+
+
+<div class="row">
+
+ <div class="large-8 medium-8 columns">
+
+
+
+ <div id="doc-content">
+
+ <div id="preamble">
+<div class="sectionbody">
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+TODO
+</td>
+</tr>
+</table>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_injecting_services">Injecting Services</h2>
+<div class="sectionbody">
+
+</div>
+</div>
+<div class="sect1">
+<h2 id="_instantiating_and_persisting_objects">Instantiating and Persisting Objects</h2>
+<div class="sectionbody">
+
+</div>
+</div>
+<div class="sect1">
+<h2 id="_finding_objects">Finding Objects</h2>
+<div class="sectionbody">
+
+</div>
+</div>
+<div class="sect1">
+<h2 id="_deleting_objects">Deleting Objects</h2>
+<div class="sectionbody">
+
+</div>
+</div>
+
+ </div>
+
+
+
+ <hr>
+
+ <footer>
+
+ <p class="small">
+
+ Copyright © 2010~2015 The Apache Software Foundation, licensed under the Apache License, v2.0.
+
+ <br/>
+
+ Apache, the Apache feather logo, Apache Isis, and the Apache Isis project logo are all trademarks of The Apache Software Foundation.
+
+ </p>
+
+ </footer>
+
+
+
+ </div>
+
+
+
+ <div class="large-4 medium-4 columns">
+
+ <!-- the 'hide' class is removed by Javascript -->
+
+ <div id="toc" class="toc2 hide">
+
+ <ul class="sectlevel1">
+<li><a href="#_injecting_services">Injecting Services</a></li>
+<li><a href="#_instantiating_and_persisting_objects">Instantiating and Persisting Objects</a></li>
+<li><a href="#_finding_objects">Finding Objects</a></li>
+<li><a href="#_deleting_objects">Deleting Objects</a></li>
+</ul>
+
+ </div>
+
+ </div>
+
+</div>
+
+
+
+
+
+ <script src="../js/foundation/5.5.1/vendor/jquery.js"></script>
+
+ <script src="../js/foundation/5.5.1/foundation.min.js"></script>
+
+
+
+
+
+<script type="text/javascript">
+
+ $(document).foundation();
+
+
+
+ $(document).ready(function(){
+
+ // Cache selectors
+
+ var lastId,
+
+ topMenu = $("div#toc ul"),
+
+ topMenuHeight = 70,
+
+
+
+ menuItems = topMenu.find("a"),
+
+ menuItemsHrefs = menuItems.map(function(){
+
+ var item = $($(this).attr("href"));
+
+ if (item.length) { return item; }
+
+ });
+
+
+
+ // Bind click handler to menu items to scroll animation
+
+ menuItems.click(function(e){
+
+ var href = $(this).attr("href"),
+
+ offsetTop = href === "#" ? 0 : $(href).offset().top-topMenuHeight+1;
+
+ $('html, body').stop().animate({
+
+ scrollTop: offsetTop
+
+ }, 300);
+
+
+
+ e.preventDefault();
+
+ });
+
+
+
+ // Bind to scroll of window
+
+ $( window ).scroll(function(){
+
+
+
+ // Get container scroll position
+
+ var fromTop = $(this).scrollTop()+topMenuHeight;
+
+
+
+ var cur = menuItemsHrefs.map(function(){
+
+ if ($(this).offset().top < fromTop)
+
+ return this;
+
+ });
+
+
+
+ // Get the id of the current element
+
+ cur = cur[cur.length-1];
+
+
+
+ var id = cur && cur.length ? cur[0].id : "";
+
+
+
+ //console.log("id = " + id + ", lastId = " + lastId);
+
+
+
+ if (lastId !== id && id) {
+
+ scrollTo(id);
+
+ }
+
+ });
+
+
+
+ scrollTo = function(id) {
+
+ lastId = id;
+
+
+
+ menuItems
+
+ .removeClass("active");
+
+
+
+ menuItems
+
+ .parents()
+
+ .removeClass("active-region");
+
+
+
+ menuItems
+
+ .parents("ul").hide();
+
+
+
+ menuItems
+
+ .filter("[href=#"+id+"]")
+
+ .addClass("active");
+
+
+
+ menuItems
+
+ .filter("[href=#"+id+"]")
+
+ .parents("ul").show();
+
+
+
+ menuItems
+
+ .filter("[href=#"+id+"]")
+
+ .parent().children("ul").show();
+
+
+
+ menuItems
+
+ .filter("[href=#"+id+"]")
+
+ .parents("li").addClass("active-region");
+
+
+
+ }
+
+ menuItems
+
+ .removeClass("active");
+
+
+
+ menuItems
+
+ .parents()
+
+ .removeClass("active-region");
+
+
+
+ var syncMenuItem;
+
+ if(window.location.hash!=="") {
+
+ var menuItemFor = $.grep(menuItems, function(e) {
+
+ return e.hash === window.location.hash;
+
+ });
+
+ console.log(menuItemFor);
+
+ if(menuItemFor.length === 1) {
+
+ syncMenuItem = menuItemFor[0];
+
+ }
+
+ }
+
+
+
+ if(!syncMenuItem){
+
+ syncMenuItem = menuItems[0];
+
+ }
+
+
+
+ $("#toc").removeClass("hide");
+
+
+
+ $(syncMenuItem).click();
+
+
+
+ });
+
+
+
+
+
+</script>
+
+
+
+
+
+</body>
+
+</html>
\ No newline at end of file