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 2014/11/18 23:19:57 UTC
svn commit: r1640436 - in /isis/site/trunk/content:
reference/recognized-annotations/DomainService.md
reference/recognized-annotations/about.md tutorials/apacheconeu-2014.md
Author: danhaywood
Date: Tue Nov 18 22:19:57 2014
New Revision: 1640436
URL: http://svn.apache.org/r1640436
Log:
tutorial, @DomainService stub
Added:
isis/site/trunk/content/reference/recognized-annotations/DomainService.md
Modified:
isis/site/trunk/content/reference/recognized-annotations/about.md
isis/site/trunk/content/tutorials/apacheconeu-2014.md
Added: isis/site/trunk/content/reference/recognized-annotations/DomainService.md
URL: http://svn.apache.org/viewvc/isis/site/trunk/content/reference/recognized-annotations/DomainService.md?rev=1640436&view=auto
==============================================================================
--- isis/site/trunk/content/reference/recognized-annotations/DomainService.md (added)
+++ isis/site/trunk/content/reference/recognized-annotations/DomainService.md Tue Nov 18 22:19:57 2014
@@ -0,0 +1,4 @@
+Title: @DomainService
+
+
+> this is a stub
Modified: isis/site/trunk/content/reference/recognized-annotations/about.md
URL: http://svn.apache.org/viewvc/isis/site/trunk/content/reference/recognized-annotations/about.md?rev=1640436&r1=1640435&r2=1640436&view=diff
==============================================================================
--- isis/site/trunk/content/reference/recognized-annotations/about.md (original)
+++ isis/site/trunk/content/reference/recognized-annotations/about.md Tue Nov 18 22:19:57 2014
@@ -148,6 +148,7 @@ go back to: [documentation](../../docume
</td>
<td></td>
<td></td>
+ </tr>
<tr>
<td><a href="./Disabled.html">@Disabled</a></td>
<td>UI, Domain</td>
@@ -158,6 +159,13 @@ go back to: [documentation](../../docume
<td></td>
</tr>
<tr>
+ <td><a href="./DomainService.html">@DomainService</a></td>
+ <td>Domain</td>
+ <td>Class is a domain service (rather than an entity or view model)</td>
+ <td></td>
+ <td></td>
+ </tr>
+ <tr>
<td><a href="./Encodable.html">@Encodable</a></td>
<td>Persistence</td>
<td>Indicates that a (value) class can be serialized/encoded.
@@ -183,7 +191,7 @@ go back to: [documentation](../../docume
</tr>
<tr>
<td><a href="./Facets.html">@Facets</a></td>
- <th>(any)</th>
+ <td>(any)</td>
<td>Install arbitrary facets within the Isis metamodel.
</td>
<td></td>
@@ -249,7 +257,7 @@ go back to: [documentation](../../docume
</tr>
<tr>
<td><a href="./Mask.html">@Mask</a></td>
- <th>UI/domain</th>
+ <td>UI/domain</td>
<td>How to parse/render values (not properly supported)
</td>
<td></td>
@@ -390,7 +398,7 @@ go back to: [documentation](../../docume
</tr>
<tr>
<td><a href="./Parseable.html">@Parseable</a></td>
- <th>UI/domain</th>
+ <td>UI/domain</td>
<td>Indicates that a (value) class can be reconstructed from a string.
</td>
<td></td>
@@ -546,7 +554,7 @@ go back to: [documentation](../../docume
<tr>
<td><a href="./ViewModel.html">@ViewModel</a></td>
<td>Domain, Persistence</td>
- <td>Specify that a class is a view model (rather than a persisted entity).
+ <td>Specify that a class is a view model (as opposed to an entity or domain service).
</td>
<td></td>
<td></td>
Modified: isis/site/trunk/content/tutorials/apacheconeu-2014.md
URL: http://svn.apache.org/viewvc/isis/site/trunk/content/tutorials/apacheconeu-2014.md?rev=1640436&r1=1640435&r2=1640436&view=diff
==============================================================================
--- isis/site/trunk/content/tutorials/apacheconeu-2014.md (original)
+++ isis/site/trunk/content/tutorials/apacheconeu-2014.md Tue Nov 18 22:19:57 2014
@@ -131,7 +131,9 @@ which in yuml.me's DSL is:
* rename the `SimpleObject` class' `name` property
* specify a [title](http://isis.apache.org/how-tos/how-to-01-040-How-to-specify-a-title-for-a-domain-entity.html)
* specify an [icon](http://isis.apache.org/how-tos/how-to-01-070-How-to-specify-the-icon-for-a-domain-entity.html)
-
+* add the [@Bookmarkable](http://isis.apache.org/reference/recognized-annotations/Bookmarkable.html) annotation
+ * confirm is available from bookmark panel (top-left of Wicket UI)
+
## Domain service
@@ -141,6 +143,7 @@ which in yuml.me's DSL is:
* review `listAll` action (acting as a repository)
- as per our [docs](http://isis.apache.org/how-tos/how-to-09-040-How-to-write-a-custom-repository.html)
- note the annotations on the corresponding domain class (`SimpleObject` above, probably renamed by now)
+* note the `@DomainService` annotation
## Fixture scripts
@@ -224,7 +227,18 @@ which in yuml.me's DSL is:
## Actions (ctd)
* Add domain actions to add/remove from the collection
+ * to create objects, [inject](http://isis.apache.org/how-tos/how-to-01-150-How-to-inject-services-into-a-domain-entity-or-other-service.html) associated domain service
+ * generally we recommend using the `@Inject` annotation with either private or default visibility
+ * the service itself use [DomainObjectContainer]()
+* optional: add an action to clone an object
+
+## Clock Service
+
+* To ensure testability, remove any dependencies on system time (eg defaults for date/time action parameters)
+ * ie calls `LocalDate.now()`
+ * instead, inject [ClockService](http://isis.apache.org/reference/services/ClockService.html) and delegate to it
+
## Layout
@@ -253,83 +267,116 @@ which in yuml.me's DSL is:
* Validate string properties or action paramters:
- use the [@Regex](http://isis.apache.org/reference/recognized-annotations/RegEx.html) annotation to specify a pattern
- use the [@MinLength](http://isis.apache.org/reference/recognized-annotations/MinLength.html) annotation to indicate a minimum number of characters
-* For any data type:
+* Use the `validateXxx()` supporting method on [properties](http://isis.staging.apache.org/how-tos/how-to-02-100-How-to-validate-user-input-for-a-property.html) or [action parameter](http://isis.staging.apache.org/how-tos/how-to-02-120-How-to-validate-an-action-parameter-argument.html)
+* optional: for any data type:
- use the [@MustSatisfy](http://isis.apache.org/reference/recognized-annotations/MustSatisfy.html) annotation to specify an arbitrary constraint
+
-Use the `validateXxx()` supporting method on [properties](
+## Dashboard (home page)
+* Add the [@HomePage](http://isis.apache.org/reference/recognized-annotations/HomePage.html) annotation to one (no more) of the domain services' no-arg actions
-- disable
-- hide
-- vaidate
+## Decoupling using Contributions
+
+### Contributed Actions
+
+* Write a new domain service
+ - by convention, called "XxxContributions"
+ - annotate with `@DomainService`
+* Write an action accepting >1 args:
+ - one being a domain entity
+ - other being a primitive or String
+* For this action, add the [@NotInServiceMenu](http://isis.apache.org/reference/recognized-annotations/NotInServiceMenu.html) annotation
+ * indicates service's actions should *not* be included in the main application menu bar
+* should be rendered "as if" an action of the entity
-Bookmarkable
-
-dashboards (home page)
+### Contributed Collections
+
+* Write a new domain service (or update the one previously)
+* Write a query-only action accepting exactly 1 arg (a domain entity)
+ - returning a collection, list or set
+* For this action:
+ * add the [@NotInServiceMenu](http://isis.apache.org/reference/recognized-annotations/NotInServiceMenu.html) annotation
+ * add the [@NotContributed(As.ACTION)](http://isis.apache.org/reference/recognized-annotations/NotContributed.html) annotation
+* should be rendered in the UI "as if" a collection of the entity
+* use `.layout.json` to position as required
+
+
+### Contributed Properties
+* As for contributed collections, write a new domain service with a query-only action accepting exactly 1 arg (a domain entity); except:
+ - returning a scalar value rather than a collection
+* For this action, annotate as [@NotInServiceMenu](http://isis.apache.org/reference/recognized-annotations/NotInServiceMenu.html) and [@NotContributed(As.ACTION)](http://isis.apache.org/reference/recognized-annotations/NotContributed.html)
+* should be rendered in the UI "as if" a property of the entity
+* use `.layout.json` to position as required
+## Decoupling using the Event Bus
+TODO
-contributed properties/collections
+## Extending the Wicket UI
-contributed actions
+### Excel download
-creating objects:
-- domainobjectcontainer
+TODO
+### Fullcalendar2
-clockservice
+TODO
+### gmap3
-.layout.json
+TODO
-CSS
-@HomePage
+## Add-ons
+### Security
-view models
+TODO
+### Command
+TODO
-Customising the REST API
+### Auditing
+TODO
+### Publishing
-wicket extensions
-- excel download
-- fullcalendar
-- gmap3
+TODO
-add-ons
-- security
-- command
-- auditing
-- publishing
+## CSS
-event bus
+TODO
-RESTful API
+## View models
+TODO
+## Integration tests
-composite fixture scripts (a la Estatio)
+TODO
+## Composite fixture scripts (a la Estatio)
+TODO
-integration tests
+## Customising the REST API
+TODO