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/06/04 14:55:48 UTC
[3/3] isis git commit: ISIS-1133: reorganizing material on layouts
(static and dynamic)
ISIS-1133: reorganizing material on layouts (static and dynamic)
Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/e9ccddbe
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/e9ccddbe
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/e9ccddbe
Branch: refs/heads/ISIS-1133
Commit: e9ccddbea4ec32ed260014714aeb262f4561e3b9
Parents: acba489
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Thu Jun 4 13:55:34 2015 +0100
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Thu Jun 4 13:55:34 2015 +0100
----------------------------------------------------------------------
...rogramming-model_layout-metadata-reader.adoc | 2 +-
..._ug_isis-addons-modules_devutils-module.adoc | 2 +-
...ug_reference-annotations_aaa_deprecated.adoc | 2 +-
.../_ug_reference-annotations_aaa_jee.adoc | 2 +-
.../_ug_reference-annotations_aaa_main.adoc | 4 +-
.../_ug_reference-annotations_aaa_other.adoc | 2 +-
...erence-annotations_manpage-ActionLayout.adoc | 2 +-
...ations_manpage-ActionLayout_bookmarking.adoc | 2 +-
...ions_manpage-ActionLayout_contributedAs.adoc | 2 +-
...notations_manpage-ActionLayout_cssClass.adoc | 2 +-
...tations_manpage-ActionLayout_cssClassFa.adoc | 2 +-
...ations_manpage-ActionLayout_describedAs.adoc | 2 +-
...annotations_manpage-ActionLayout_hidden.adoc | 2 +-
...-annotations_manpage-ActionLayout_named.adoc | 2 +-
...notations_manpage-ActionLayout_position.adoc | 2 +-
...rence-annotations_manpage-Action_hidden.adoc | 2 +-
...ce-annotations_manpage-CollectionLayout.adoc | 2 +-
...tions_manpage-CollectionLayout_cssClass.adoc | 2 +-
...ns_manpage-CollectionLayout_describedAs.adoc | 2 +-
...tations_manpage-CollectionLayout_hidden.adoc | 2 +-
...otations_manpage-CollectionLayout_named.adoc | 2 +-
...otations_manpage-CollectionLayout_paged.adoc | 2 +-
...tations_manpage-CollectionLayout_render.adoc | 2 +-
...tions_manpage-CollectionLayout_sortedBy.adoc | 2 +-
...e-annotations_manpage-Collection_hidden.adoc | 2 +-
...-annotations_manpage-DomainObjectLayout.adoc | 2 +-
...annotations_manpage-DomainServiceLayout.adoc | 12 +-
..._reference-annotations_manpage-HomePage.adoc | 2 +-
...e-annotations_manpage-MemberGroupLayout.adoc | 2 +-
...ference-annotations_manpage-MemberOrder.adoc | 10 +-
...nce-annotations_manpage-ParameterLayout.adoc | 2 +-
...ence-annotations_manpage-PropertyLayout.adoc | 2 +-
...tations_manpage-PropertyLayout_cssClass.adoc | 2 +-
...ions_manpage-PropertyLayout_describedAs.adoc | 2 +-
...notations_manpage-PropertyLayout_hidden.adoc | 4 +-
...ns_manpage-PropertyLayout_labelPosition.adoc | 2 +-
...ations_manpage-PropertyLayout_multiLine.adoc | 2 +-
...nnotations_manpage-PropertyLayout_named.adoc | 2 +-
...page-PropertyLayout_renderedAsDayBefore.adoc | 2 +-
...nce-annotations_manpage-ViewModelLayout.adoc | 2 +-
.../user-guide/_ug_reference-object-layout.adoc | 20 ++
...eference-object-layout_application-menu.adoc | 171 +++++++++++++
.../_ug_reference-object-layout_dynamic.adoc | 113 +++++++++
...ference-object-layout_static-vs-dynamic.adoc | 24 ++
.../_ug_reference-object-layout_static.adoc | 146 +++++++++++
.../_ug_runtime_configuring-core.adoc | 2 +-
...tutorials_stop-scaffolding-start-coding.adoc | 4 +-
...ewer_customisation_tweaking-css-classes.adoc | 2 +-
.../user-guide/_ug_wicket-viewer_layout.adoc | 89 ++++++-
...t-viewer_layout_application-menu-layout.adoc | 171 -------------
...ket-viewer_layout_dynamic-object-layout.adoc | 161 ------------
...cket-viewer_layout_static-object-layout.adoc | 167 ------------
.../images/reference-layout/4-0-8-0.png | Bin 0 -> 20662 bytes
.../images/reference-layout/4-4-4-12.png | Bin 0 -> 21012 bytes
.../images/reference-layout/6-6-0-12.png | Bin 0 -> 21100 bytes
.../isis-layout-show-facets.css | 3 +
.../images/reference-layout/isis-layout.css | 253 +++++++++++++++++++
.../images/reference-layout/layout-4-0-8-0.html | 198 +++++++++++++++
.../reference-layout/layout-4-4-4-12.html | 205 +++++++++++++++
.../reference-layout/layout-6-6-0-12.html | 203 +++++++++++++++
.../images/wicket-viewer/layouts/4-0-8-0.png | Bin 20662 -> 0 bytes
.../images/wicket-viewer/layouts/4-4-4-12.png | Bin 21012 -> 0 bytes
.../images/wicket-viewer/layouts/6-6-0-12.png | Bin 21100 -> 0 bytes
.../wicket-viewer/layouts/estatio-Invoice.png | Bin 0 -> 181572 bytes
.../wicket-viewer/layouts/estatio-Lease.png | Bin 0 -> 261553 bytes
.../wicket-viewer/layouts/estatio-LeaseItem.png | Bin 0 -> 162789 bytes
.../layouts/isis-layout-show-facets.css | 3 -
.../wicket-viewer/layouts/isis-layout.css | 253 -------------------
.../wicket-viewer/layouts/layout-4-0-8-0.html | 198 ---------------
.../wicket-viewer/layouts/layout-4-4-4-12.html | 205 ---------------
.../wicket-viewer/layouts/layout-6-6-0-12.html | 203 ---------------
.../wicket-viewer/layouts/todoapp-ToDoItem.png | Bin 0 -> 97649 bytes
.../src/main/asciidoc/user-guide/ug.adoc | 15 +-
73 files changed, 1482 insertions(+), 1429 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/isis/blob/e9ccddbe/adocs/documentation/src/main/asciidoc/user-guide/_ug_extending_programming-model_layout-metadata-reader.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_extending_programming-model_layout-metadata-reader.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_extending_programming-model_layout-metadata-reader.adoc
index 5bb6d44..7e2992a 100644
--- a/adocs/documentation/src/main/asciidoc/user-guide/_ug_extending_programming-model_layout-metadata-reader.adoc
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_extending_programming-model_layout-metadata-reader.adoc
@@ -5,7 +5,7 @@
:_imagesdir: images/
-The metadata for domain objects is obtained both xref:_ug_wicket-viewer_layout_static-object-layout[statically] and xref:_ug_wicket-viewer_layout_dynamic-object-layout[dynamically].
+The metadata for domain objects is obtained both xref:_ug_reference-object-layout_static[statically] and xref:_ug_reference-object-layout_dynamic[dynamically].
The default implementation for reading dynamic layout metadata is `org.apache.isis.core.metamodel.layoutmetadata.json.LayoutMetadataReaderFromJson`, which is responsible for reading from the `Xxx.layout.json` files on the classpath (for each domain entity `Xxx`).
http://git-wip-us.apache.org/repos/asf/isis/blob/e9ccddbe/adocs/documentation/src/main/asciidoc/user-guide/_ug_isis-addons-modules_devutils-module.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_isis-addons-modules_devutils-module.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_isis-addons-modules_devutils-module.adoc
index 7ff5f34..7d504f5 100644
--- a/adocs/documentation/src/main/asciidoc/user-guide/_ug_isis-addons-modules_devutils-module.adoc
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_isis-addons-modules_devutils-module.adoc
@@ -48,7 +48,7 @@ The developer can then review the metadata that has Isis has captured about each
* `downloadLayouts()` allows the developer can download a ZIP file of `Xxx.layout.json` files for each domain type in the Isis metamodel.
-This is useful if converting a domain model to use xref:_ug_wicket-viewer_layout_dynamic-object-layout[dynamic layouts].
+This is useful if converting a domain model to use xref:_ug_reference-object-layout_dynamic[dynamic layouts].
* `downloadLayout()` (contributed action) allows the developer can download the `Xxx.layout.json` for an individual object
http://git-wip-us.apache.org/repos/asf/isis/blob/e9ccddbe/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_aaa_deprecated.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_aaa_deprecated.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_aaa_deprecated.adoc
index 362f5f4..a54caa7 100644
--- a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_aaa_deprecated.adoc
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_aaa_deprecated.adoc
@@ -19,7 +19,7 @@ The annotations listed in the table below are still supported by Apache Isis, bu
|Purpose
|Use instead
|Layer
-|xref:_ug_wicket-viewer_layout_dynamic-object-layout[Dynamic layout]?
+|xref:_ug_reference-object-layout_dynamic[Dynamic layout]?
|`@ActionOrder`
|Order of buttons and menu items representing actions.
http://git-wip-us.apache.org/repos/asf/isis/blob/e9ccddbe/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_aaa_jee.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_aaa_jee.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_aaa_jee.adoc
index 1d13e99..eee862c 100644
--- a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_aaa_jee.adoc
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_aaa_jee.adoc
@@ -16,7 +16,7 @@ The table below lists the JEE annotations currently recognized. Expect to see m
|Annotation
|Purpose
|Layer
-|xref:_ug_wicket-viewer_layout_dynamic-object-layout[Dynamic layout]?
+|xref:_ug_reference-object-layout_dynamic[Dynamic layout]?
|xref:_ug_reference-annotations_manpage-RequestScoped[`@javax.enterprise.` +
`context.` +
http://git-wip-us.apache.org/repos/asf/isis/blob/e9ccddbe/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_aaa_main.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_aaa_main.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_aaa_main.adoc
index 905b884..2bbe4ab 100644
--- a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_aaa_main.adoc
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_aaa_main.adoc
@@ -11,7 +11,7 @@ For each of these domain types and members there are two annotations. One cover
[TIP]
====
-Most UI semantics can also be specified using xref:_ug_wicket-viewer_layout_dynamic-object-layout[dynamic object layout].
+Most UI semantics can also be specified using xref:_ug_reference-object-layout_dynamic[dynamic object layout].
====
@@ -24,7 +24,7 @@ The table below summarizes these most commonly used annotations in Isis.
|Annotation
|Purpose
|Layer
-|xref:_ug_wicket-viewer_layout_dynamic-object-layout[Dynamic layout]?
+|xref:_ug_reference-object-layout_dynamic[Dynamic layout]?
|xref:_ug_reference-annotations_manpage-Action[`@Action`]
|Domain semantics for actions
http://git-wip-us.apache.org/repos/asf/isis/blob/e9ccddbe/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_aaa_other.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_aaa_other.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_aaa_other.adoc
index 538c5e0..6188247 100644
--- a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_aaa_other.adoc
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_aaa_other.adoc
@@ -13,7 +13,7 @@ These annotations are also commonly used, but relate _not_ to objects or object
|Annotation
|Purpose
|Layer
-|xref:_ug_wicket-viewer_layout_dynamic-object-layout[Dynamic layout]?
+|xref:_ug_reference-object-layout_dynamic[Dynamic layout]?
|xref:_ug_reference-annotations_manpage-Facets[`@Facets`]
|Install arbitrary facets within the Isis metamodel.
http://git-wip-us.apache.org/repos/asf/isis/blob/e9ccddbe/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-ActionLayout.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-ActionLayout.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-ActionLayout.adoc
index 9641a50..63ecf28 100644
--- a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-ActionLayout.adoc
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-ActionLayout.adoc
@@ -100,7 +100,7 @@ public class ToDoItems {
-As an alternative to using the `@ActionLayout` annotation, a dynamic layout using xref:_ug_wicket-viewer_layout_dynamic-object-layout[`.layout.json`] file can be specified; for example:
+As an alternative to using the `@ActionLayout` annotation, a dynamic layout using xref:_ug_reference-object-layout_dynamic[`.layout.json`] file can be specified; for example:
[source,javascript]
----
http://git-wip-us.apache.org/repos/asf/isis/blob/e9ccddbe/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-ActionLayout_bookmarking.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-ActionLayout_bookmarking.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-ActionLayout_bookmarking.adoc
index 0c6d6a5..49e437d 100644
--- a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-ActionLayout_bookmarking.adoc
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-ActionLayout_bookmarking.adoc
@@ -50,7 +50,7 @@ The enum value `AS_CHILD` has no meaning for actions; it relates only to bookmar
-As an alternative to using the annotation, the dynamic xref:_ug_wicket-viewer_layout_dynamic-object-layout[`.layout.json`]
+As an alternative to using the annotation, the dynamic xref:_ug_reference-object-layout_dynamic[`.layout.json`]
can be used instead, eg:
[source,javascript]
http://git-wip-us.apache.org/repos/asf/isis/blob/e9ccddbe/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-ActionLayout_contributedAs.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-ActionLayout_contributedAs.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-ActionLayout_contributedAs.adoc
index 6b5531f..d18de53 100644
--- a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-ActionLayout_contributedAs.adoc
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-ActionLayout_contributedAs.adoc
@@ -49,6 +49,6 @@ In such cases, though, it would probably make more sense to annotate the action
[NOTE]
====
-Unlike other `@ActionLayout` attributes, this attribute _cannot_ be specified dynamically in the `.layout.json` xref:_ug_wicket-viewer_layout_dynamic-object-layout[dynamic layout file] because it relates to the contributor domain service, not the contributee domain object.
+Unlike other `@ActionLayout` attributes, this attribute _cannot_ be specified dynamically in the `.layout.json` xref:_ug_reference-object-layout_dynamic[dynamic layout file] because it relates to the contributor domain service, not the contributee domain object.
====
http://git-wip-us.apache.org/repos/asf/isis/blob/e9ccddbe/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-ActionLayout_cssClass.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-ActionLayout_cssClass.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-ActionLayout_cssClass.adoc
index 62cbec5..d12d66a 100644
--- a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-ActionLayout_cssClass.adoc
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-ActionLayout_cssClass.adoc
@@ -30,7 +30,7 @@ to apply CSS, specifically to add http://fortawesome.github.io/Font-Awesome/icon
-As an alternative to using the annotation, the dynamic xref:_ug_wicket-viewer_layout_dynamic-object-layout[`.layout.json`]
+As an alternative to using the annotation, the dynamic xref:_ug_reference-object-layout_dynamic[`.layout.json`]
can be used instead, eg:
[source,javascript]
http://git-wip-us.apache.org/repos/asf/isis/blob/e9ccddbe/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-ActionLayout_cssClassFa.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-ActionLayout_cssClassFa.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-ActionLayout_cssClassFa.adoc
index 7884274..e6cc521 100644
--- a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-ActionLayout_cssClassFa.adoc
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-ActionLayout_cssClassFa.adoc
@@ -31,7 +31,7 @@ public class ToDoItem {
There can be multiple "fa-" classes, eg to mirror or rotate the icon. There is no need to include the mandatory `fa` "marker" CSS class; it will be automatically added to the list. The `fa-` prefix can also be omitted from the class names; it will be prepended to each if required.
-As an alternative to using the annotation, the dynamic xref:_ug_wicket-viewer_layout_dynamic-object-layout[`.layout.json`]
+As an alternative to using the annotation, the dynamic xref:_ug_reference-object-layout_dynamic[`.layout.json`]
can be used instead, eg:
[source,javascript]
http://git-wip-us.apache.org/repos/asf/isis/blob/e9ccddbe/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-ActionLayout_describedAs.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-ActionLayout_describedAs.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-ActionLayout_describedAs.adoc
index 06d3215..daf8265 100644
--- a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-ActionLayout_describedAs.adoc
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-ActionLayout_describedAs.adoc
@@ -24,7 +24,7 @@ public class Customer {
-As an alternative to using the annotation, the dynamic xref:_ug_wicket-viewer_layout_dynamic-object-layout[`.layout.json`]
+As an alternative to using the annotation, the dynamic xref:_ug_reference-object-layout_dynamic[`.layout.json`]
can be used instead, eg:
[source,javascript]
http://git-wip-us.apache.org/repos/asf/isis/blob/e9ccddbe/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-ActionLayout_hidden.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-ActionLayout_hidden.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-ActionLayout_hidden.adoc
index 8c26577..70de69d 100644
--- a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-ActionLayout_hidden.adoc
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-ActionLayout_hidden.adoc
@@ -37,7 +37,7 @@ The action should not be hidden.
The other values of the `Where` enum have no meaning for a collection.
-As an alternative to using the annotation, the dynamic xref:_ug_wicket-viewer_layout_dynamic-object-layout[`.layout.json`]
+As an alternative to using the annotation, the dynamic xref:_ug_reference-object-layout_dynamic[`.layout.json`]
can be used instead, eg:
[source,javascript]
http://git-wip-us.apache.org/repos/asf/isis/blob/e9ccddbe/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-ActionLayout_named.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-ActionLayout_named.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-ActionLayout_named.adoc
index 203c673..d634676 100644
--- a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-ActionLayout_named.adoc
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-ActionLayout_named.adoc
@@ -25,7 +25,7 @@ public class Customer {
----
-As an alternative to using the annotation, the dynamic xref:_ug_wicket-viewer_layout_dynamic-object-layout[`.layout.json`]
+As an alternative to using the annotation, the dynamic xref:_ug_reference-object-layout_dynamic[`.layout.json`]
can be used instead, eg:
[source,javascript]
http://git-wip-us.apache.org/repos/asf/isis/blob/e9ccddbe/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-ActionLayout_position.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-ActionLayout_position.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-ActionLayout_position.adoc
index 060e15f..f333418 100644
--- a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-ActionLayout_position.adoc
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-ActionLayout_position.adoc
@@ -67,7 +67,7 @@ image::{_imagesdir}reference-annotations/ActionLayout/position-PANEL_DROPDOWN.pn
If there are multiple actions associated with a single property then the positioning can be mix'ed-and-match'ed as required. If the `PANEL` or `PANEL_DROPDOWN` are used, then (as the screenshots above show) the actions from potentially multiple properties grouped by that panel will be shown together.
-As an alternative to using the annotation, the dynamic xref:_ug_wicket-viewer_layout_dynamic-object-layout[`.layout.json`]
+As an alternative to using the annotation, the dynamic xref:_ug_reference-object-layout_dynamic[`.layout.json`]
can be used instead, eg:
[source,javascript]
http://git-wip-us.apache.org/repos/asf/isis/blob/e9ccddbe/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-Action_hidden.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-Action_hidden.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-Action_hidden.adoc
index 9217be0..bc6c987 100644
--- a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-Action_hidden.adoc
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-Action_hidden.adoc
@@ -11,7 +11,7 @@ Actions can be hidden at the domain-level, indicating that they are not visible
[TIP]
====
-It is also possible to use xref:_ug_reference-annotations_manpage-ActionLayout_hidden[`@ActionLayout#hidden()`] or xref:_ug_wicket-viewer_layout_dynamic-object-layout[dynamic layouts] such that the action can be hidden at the view layer. Both options are provided with a view that in the future the view-layer semantics may be under the control of (expert) users, whereas domain-layer semantics should never be overridden or modified by the user.
+It is also possible to use xref:_ug_reference-annotations_manpage-ActionLayout_hidden[`@ActionLayout#hidden()`] or xref:_ug_reference-object-layout_dynamic[dynamic layouts] such that the action can be hidden at the view layer. Both options are provided with a view that in the future the view-layer semantics may be under the control of (expert) users, whereas domain-layer semantics should never be overridden or modified by the user.
====
For example:
http://git-wip-us.apache.org/repos/asf/isis/blob/e9ccddbe/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-CollectionLayout.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-CollectionLayout.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-CollectionLayout.adoc
index 3cf83c6..91e18ee 100644
--- a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-CollectionLayout.adoc
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-CollectionLayout.adoc
@@ -86,7 +86,7 @@ public class ToDoItem {
-As an alternative to using the `@CollectionLayout` annotation, a dynamic layout using xref:_ug_wicket-viewer_layout_dynamic-object-layout[`.layout.json`] file can be specified; for example:
+As an alternative to using the `@CollectionLayout` annotation, a dynamic layout using xref:_ug_reference-object-layout_dynamic[`.layout.json`] file can be specified; for example:
[source,javascript]
----
http://git-wip-us.apache.org/repos/asf/isis/blob/e9ccddbe/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-CollectionLayout_cssClass.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-CollectionLayout_cssClass.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-CollectionLayout_cssClass.adoc
index 718fa89..24a1f03 100644
--- a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-CollectionLayout_cssClass.adoc
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-CollectionLayout_cssClass.adoc
@@ -24,7 +24,7 @@ public class ToDoItem {
----
-As an alternative to using the annotation, the dynamic xref:_ug_wicket-viewer_layout_dynamic-object-layout[`.layout.json`]
+As an alternative to using the annotation, the dynamic xref:_ug_reference-object-layout_dynamic[`.layout.json`]
can be used instead, eg:
[source,javascript]
http://git-wip-us.apache.org/repos/asf/isis/blob/e9ccddbe/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-CollectionLayout_describedAs.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-CollectionLayout_describedAs.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-CollectionLayout_describedAs.adoc
index a105f8b..50ad84f 100644
--- a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-CollectionLayout_describedAs.adoc
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-CollectionLayout_describedAs.adoc
@@ -23,7 +23,7 @@ public class ToDoItem {
----
-As an alternative to using the annotation, the dynamic xref:_ug_wicket-viewer_layout_dynamic-object-layout[`.layout.json`]
+As an alternative to using the annotation, the dynamic xref:_ug_reference-object-layout_dynamic[`.layout.json`]
can be used instead, eg:
[source,javascript]
http://git-wip-us.apache.org/repos/asf/isis/blob/e9ccddbe/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-CollectionLayout_hidden.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-CollectionLayout_hidden.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-CollectionLayout_hidden.adoc
index 059880b..f47bbcc 100644
--- a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-CollectionLayout_hidden.adoc
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-CollectionLayout_hidden.adoc
@@ -47,7 +47,7 @@ The collection should not be hidden.
The other values of the `Where` enum have no meaning for a collection.
-As an alternative to using the annotation, the dynamic xref:_ug_wicket-viewer_layout_dynamic-object-layout[`.layout.json`]
+As an alternative to using the annotation, the dynamic xref:_ug_reference-object-layout_dynamic[`.layout.json`]
can be used instead, eg:
[source,javascript]
http://git-wip-us.apache.org/repos/asf/isis/blob/e9ccddbe/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-CollectionLayout_named.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-CollectionLayout_named.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-CollectionLayout_named.adoc
index 14e006a..7c30d7c 100644
--- a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-CollectionLayout_named.adoc
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-CollectionLayout_named.adoc
@@ -33,7 +33,7 @@ public class ToDoItem {
-As an alternative to using the annotation, the dynamic xref:_ug_wicket-viewer_layout_dynamic-object-layout[`.layout.json`]
+As an alternative to using the annotation, the dynamic xref:_ug_reference-object-layout_dynamic[`.layout.json`]
can be used instead, eg:
[source,javascript]
http://git-wip-us.apache.org/repos/asf/isis/blob/e9ccddbe/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-CollectionLayout_paged.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-CollectionLayout_paged.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-CollectionLayout_paged.adoc
index 89b2e3a..d6a9ace 100644
--- a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-CollectionLayout_paged.adoc
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-CollectionLayout_paged.adoc
@@ -31,7 +31,7 @@ It is also possible to specify a global default for the page size of standalone
-As an alternative to using the annotation, the dynamic xref:_ug_wicket-viewer_layout_dynamic-object-layout[`.layout.json`]
+As an alternative to using the annotation, the dynamic xref:_ug_reference-object-layout_dynamic[`.layout.json`]
can be used instead, eg:
[source,javascript]
http://git-wip-us.apache.org/repos/asf/isis/blob/e9ccddbe/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-CollectionLayout_render.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-CollectionLayout_render.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-CollectionLayout_render.adoc
index 18579da..84b6529 100644
--- a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-CollectionLayout_render.adoc
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-CollectionLayout_render.adoc
@@ -20,7 +20,7 @@ public class Order {
----
-As an alternative to using the annotation, the dynamic xref:_ug_wicket-viewer_layout_dynamic-object-layout[`.layout.json`]
+As an alternative to using the annotation, the dynamic xref:_ug_reference-object-layout_dynamic[`.layout.json`]
can be used instead, eg:
[source,javascript]
http://git-wip-us.apache.org/repos/asf/isis/blob/e9ccddbe/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-CollectionLayout_sortedBy.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-CollectionLayout_sortedBy.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-CollectionLayout_sortedBy.adoc
index 6b957fe..b05f89a 100644
--- a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-CollectionLayout_sortedBy.adoc
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-CollectionLayout_sortedBy.adoc
@@ -46,7 +46,7 @@ Without this annotation, the order would have been inverted (because the natural
-As an alternative to using the annotation, the dynamic xref:_ug_wicket-viewer_layout_dynamic-object-layout[`.layout.json`]
+As an alternative to using the annotation, the dynamic xref:_ug_reference-object-layout_dynamic[`.layout.json`]
can be used instead, eg:
[source,javascript]
http://git-wip-us.apache.org/repos/asf/isis/blob/e9ccddbe/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-Collection_hidden.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-Collection_hidden.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-Collection_hidden.adoc
index 2f1a02d..e0e627d 100644
--- a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-Collection_hidden.adoc
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-Collection_hidden.adoc
@@ -9,7 +9,7 @@ Collections can be hidden at the domain-level, indicating that they are not visi
[TIP]
====
-It is also possible to use xref:_ug_reference-annotations_manpage-CollectionLayout_hidden[`@CollectionLayout#hidden()`] or xref:_ug_wicket-viewer_layout_dynamic-object-layout[dynamic layouts] such that the collection can be hidden at the view layer. Both options are provided with a view that in the future the view-layer semantics may be under the control of (expert) users, whereas domain-layer semantics should never be overridden or modified by the user.
+It is also possible to use xref:_ug_reference-annotations_manpage-CollectionLayout_hidden[`@CollectionLayout#hidden()`] or xref:_ug_reference-object-layout_dynamic[dynamic layouts] such that the collection can be hidden at the view layer. Both options are provided with a view that in the future the view-layer semantics may be under the control of (expert) users, whereas domain-layer semantics should never be overridden or modified by the user.
====
For example:
http://git-wip-us.apache.org/repos/asf/isis/blob/e9ccddbe/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-DomainObjectLayout.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-DomainObjectLayout.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-DomainObjectLayout.adoc
index 61d847e..a26e56e 100644
--- a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-DomainObjectLayout.adoc
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-DomainObjectLayout.adoc
@@ -95,7 +95,7 @@ public class ToDoItem {
[NOTE]
====
-Note that there is (currently) no support for specifying UI hints for domain objects through the dynamic xref:_ug_wicket-viewer_layout_dynamic-object-layout[`.layout.json`] file (only for properties, collections and actions are supported).
+Note that there is (currently) no support for specifying UI hints for domain objects through the dynamic xref:_ug_reference-object-layout_dynamic[`.layout.json`] file (only for properties, collections and actions are supported).
====
http://git-wip-us.apache.org/repos/asf/isis/blob/e9ccddbe/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-DomainServiceLayout.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-DomainServiceLayout.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-DomainServiceLayout.adoc
index 2434a70..3176cce 100644
--- a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-DomainServiceLayout.adoc
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-DomainServiceLayout.adoc
@@ -6,8 +6,13 @@
-The `@DomainServiceLayout` annotation applies to domain services, collecting together all view layout semantics
-within a single annotation.
+The `@DomainServiceLayout` annotation applies to domain services, collecting together all view layout semantics within a single annotation.
+
+[TIP]
+====
+You will also find some additional material in the xref:_ug_reference-object-layout_application-menu[object layout] chapter.
+====
+
The table below summarizes the annotation's attributes.
@@ -56,9 +61,10 @@ public class ToDoItems {
----
+
[NOTE]
====
-Note that there is (currently) no support for specifying UI hints for domain services through the dynamic xref:_ug_wicket-viewer_layout_dynamic-object-layout[`.layout.json`] file (only for properties, collections and actions are supported).
+Note that there is (currently) no support for specifying UI hints for domain services through the dynamic xref:_ug_reference-object-layout_dynamic[`.layout.json`] file (only for properties, collections and actions are supported).
====
http://git-wip-us.apache.org/repos/asf/isis/blob/e9ccddbe/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-HomePage.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-HomePage.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-HomePage.adoc
index 90ae639..e6ddd52 100644
--- a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-HomePage.adoc
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-HomePage.adoc
@@ -45,7 +45,7 @@ public class ToDoAppDashboard {
public Blob exportToWordDoc() { ... } // <1>
}
----
-<1> associated using xref:_ug_wicket-viewer_layout_dynamic-object-layout[dynamic layouts] with the `notYetComplete` collection.
+<1> associated using xref:_ug_reference-object-layout_dynamic[dynamic layouts] with the `notYetComplete` collection.
The other two actions shown in the above screenshot -- `exportAsXml` and `downloadLayout` -- are actually contributed to the `ToDoAppDashboard` through various domain services, as is the `downloadLayout` action.
http://git-wip-us.apache.org/repos/asf/isis/blob/e9ccddbe/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-MemberGroupLayout.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-MemberGroupLayout.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-MemberGroupLayout.adoc
index ef77c81..5c3b8f9 100644
--- a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-MemberGroupLayout.adoc
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-MemberGroupLayout.adoc
@@ -4,6 +4,6 @@
:_basedir: ../
:_imagesdir: images/
-IMPORTANT: TODO
+The `@MemberGroupLayout` annotation specifies how an object's properties and collections ...
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/isis/blob/e9ccddbe/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-MemberOrder.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-MemberOrder.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-MemberOrder.adoc
index 7c36094..d34e252 100644
--- a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-MemberOrder.adoc
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-MemberOrder.adoc
@@ -4,12 +4,18 @@
:_basedir: ../
:_imagesdir: images/
-IMPORTANT: TODO
-See also xref:_ug_wicket-viewer_layout_dynamic-object-layout[dynamic object layouts].
+
+
+[TIP]
+====
+We generally recommend that you use xref:_ug_reference-object-layout_dynamic[dynamic object layouts].
+====
+
+
`@MemberOrder` is the recommended mechanism for specifying the order in
which fields and/or actions are presented to the user. (`@ActionOrder`
http://git-wip-us.apache.org/repos/asf/isis/blob/e9ccddbe/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-ParameterLayout.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-ParameterLayout.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-ParameterLayout.adoc
index 53f5173..420e04a 100644
--- a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-ParameterLayout.adoc
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-ParameterLayout.adoc
@@ -96,7 +96,7 @@ public class ToDoItem {
[NOTE]
====
-Note that there is (currently) no support for specifying UI hints for domain services through the dynamic xref:_ug_wicket-viewer_layout_dynamic-object-layout[`.layout.json`] file (only for properties, collections and actions are supported).
+Note that there is (currently) no support for specifying UI hints for domain services through the dynamic xref:_ug_reference-object-layout_dynamic[`.layout.json`] file (only for properties, collections and actions are supported).
====
http://git-wip-us.apache.org/repos/asf/isis/blob/e9ccddbe/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-PropertyLayout.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-PropertyLayout.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-PropertyLayout.adoc
index 81bcf0b..773cd8d 100644
--- a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-PropertyLayout.adoc
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-PropertyLayout.adoc
@@ -102,7 +102,7 @@ It is also possible to apply the annotation to actions of domain services that a
-As an alternative to using the `@PropertyLayout` annotation, a dynamic layout using xref:_ug_wicket-viewer_layout_dynamic-object-layout[`.layout.json`] file can be specified; for example:
+As an alternative to using the `@PropertyLayout` annotation, a dynamic layout using xref:_ug_reference-object-layout_dynamic[`.layout.json`] file can be specified; for example:
[source,javascript]
----
http://git-wip-us.apache.org/repos/asf/isis/blob/e9ccddbe/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-PropertyLayout_cssClass.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-PropertyLayout_cssClass.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-PropertyLayout_cssClass.adoc
index a283c91..dd2d1d5 100644
--- a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-PropertyLayout_cssClass.adoc
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-PropertyLayout_cssClass.adoc
@@ -23,7 +23,7 @@ public class ToDoItem {
-As an alternative to using the annotation, the dynamic xref:_ug_wicket-viewer_layout_dynamic-object-layout[`.layout.json`]
+As an alternative to using the annotation, the dynamic xref:_ug_reference-object-layout_dynamic[`.layout.json`]
can be used instead, eg:
[source,javascript]
http://git-wip-us.apache.org/repos/asf/isis/blob/e9ccddbe/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-PropertyLayout_describedAs.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-PropertyLayout_describedAs.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-PropertyLayout_describedAs.adoc
index 6a9568a..f4c6675 100644
--- a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-PropertyLayout_describedAs.adoc
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-PropertyLayout_describedAs.adoc
@@ -20,7 +20,7 @@ public class Customer {
----
-As an alternative to using the annotation, the dynamic xref:_ug_wicket-viewer_layout_dynamic-object-layout[`.layout.json`]
+As an alternative to using the annotation, the dynamic xref:_ug_reference-object-layout_dynamic[`.layout.json`]
can be used instead, eg:
[source,javascript]
http://git-wip-us.apache.org/repos/asf/isis/blob/e9ccddbe/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-PropertyLayout_hidden.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-PropertyLayout_hidden.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-PropertyLayout_hidden.adoc
index 26504bd..1ae767b 100644
--- a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-PropertyLayout_hidden.adoc
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-PropertyLayout_hidden.adoc
@@ -10,7 +10,7 @@ The `hidden()` attribute indicates where (in the UI) the property should be hidd
[TIP]
====
-It is also possible to use xref:_ug_reference-annotations_manpage-PropertyLayout_hidden[`@PropertyLayout#hidden()`] or xref:_ug_wicket-viewer_layout_dynamic-object-layout[dynamic layouts] such that the property can be hidden at the view layer. Both options are provided with a view that in the future the view-layer semantics may be under the control of (expert) users, whereas domain-layer semantics should never be overridden or modified by the user.
+It is also possible to use xref:_ug_reference-annotations_manpage-PropertyLayout_hidden[`@PropertyLayout#hidden()`] or xref:_ug_reference-object-layout_dynamic[dynamic layouts] such that the property can be hidden at the view layer. Both options are provided with a view that in the future the view-layer semantics may be under the control of (expert) users, whereas domain-layer semantics should never be overridden or modified by the user.
====
@@ -67,7 +67,7 @@ The xref:_ug_restfulobjects-viewer[RestfulObjects viewer] has only partial suppo
====
-As an alternative to using the annotation, the dynamic xref:_ug_wicket-viewer_layout_dynamic-object-layout[`.layout.json`]
+As an alternative to using the annotation, the dynamic xref:_ug_reference-object-layout_dynamic[`.layout.json`]
can be used instead, eg:
[source,javascript]
http://git-wip-us.apache.org/repos/asf/isis/blob/e9ccddbe/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-PropertyLayout_labelPosition.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-PropertyLayout_labelPosition.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-PropertyLayout_labelPosition.adoc
index ae6b688..d0c31f1 100644
--- a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-PropertyLayout_labelPosition.adoc
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-PropertyLayout_labelPosition.adoc
@@ -58,7 +58,7 @@ image::{_imagesdir}reference-annotations/PropertyLayout/labelPosition-boolean-RI
-As an alternative to using the annotation, the dynamic xref:_ug_wicket-viewer_layout_dynamic-object-layout[`.layout.json`]
+As an alternative to using the annotation, the dynamic xref:_ug_reference-object-layout_dynamic[`.layout.json`]
can be used instead, eg:
[source,javascript]
http://git-wip-us.apache.org/repos/asf/isis/blob/e9ccddbe/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-PropertyLayout_multiLine.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-PropertyLayout_multiLine.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-PropertyLayout_multiLine.adoc
index 14f3859..cb89a01 100644
--- a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-PropertyLayout_multiLine.adoc
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-PropertyLayout_multiLine.adoc
@@ -25,7 +25,7 @@ Here the `stepsToReproduce` will be displayed in a text area of 10 rows.
-As an alternative to using the annotation, the dynamic xref:_ug_wicket-viewer_layout_dynamic-object-layout[`.layout.json`]
+As an alternative to using the annotation, the dynamic xref:_ug_reference-object-layout_dynamic[`.layout.json`]
can be used instead, eg:
[source,javascript]
http://git-wip-us.apache.org/repos/asf/isis/blob/e9ccddbe/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-PropertyLayout_named.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-PropertyLayout_named.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-PropertyLayout_named.adoc
index e440e0d..1a0b556 100644
--- a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-PropertyLayout_named.adoc
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-PropertyLayout_named.adoc
@@ -31,7 +31,7 @@ public class ToDoItem {
-As an alternative to using the annotation, the dynamic xref:_ug_wicket-viewer_layout_dynamic-object-layout[`.layout.json`]
+As an alternative to using the annotation, the dynamic xref:_ug_reference-object-layout_dynamic[`.layout.json`]
can be used instead, eg:
[source,javascript]
http://git-wip-us.apache.org/repos/asf/isis/blob/e9ccddbe/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-PropertyLayout_renderedAsDayBefore.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-PropertyLayout_renderedAsDayBefore.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-PropertyLayout_renderedAsDayBefore.adoc
index 1f09664..2510d01 100644
--- a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-PropertyLayout_renderedAsDayBefore.adoc
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-PropertyLayout_renderedAsDayBefore.adoc
@@ -32,7 +32,7 @@ public class Tenancy {
-As an alternative to using the annotation, the dynamic xref:_ug_wicket-viewer_layout_dynamic-object-layout[`.layout.json`]
+As an alternative to using the annotation, the dynamic xref:_ug_reference-object-layout_dynamic[`.layout.json`]
can be used instead, eg:
[source,javascript]
http://git-wip-us.apache.org/repos/asf/isis/blob/e9ccddbe/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-ViewModelLayout.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-ViewModelLayout.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-ViewModelLayout.adoc
index a3f4123..da35e81 100644
--- a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-ViewModelLayout.adoc
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-annotations_manpage-ViewModelLayout.adoc
@@ -82,7 +82,7 @@ public class CategoryPieChart { ... }
[NOTE]
====
-Note that there is (currently) no support for specifying UI hints for view models through the dynamic xref:_ug_wicket-viewer_layout_dynamic-object-layout[`.layout.json`] file (only for properties, collections and actions are supported).
+Note that there is (currently) no support for specifying UI hints for view models through the dynamic xref:_ug_reference-object-layout_dynamic[`.layout.json`] file (only for properties, collections and actions are supported).
====
http://git-wip-us.apache.org/repos/asf/isis/blob/e9ccddbe/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-object-layout.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-object-layout.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-object-layout.adoc
new file mode 100644
index 0000000..36be141
--- /dev/null
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-object-layout.adoc
@@ -0,0 +1,20 @@
+[[_ug_reference-object-layout]]
+= Object Layout
+:Notice: 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.
+:_basedir: ../
+:_imagesdir: images/
+
+
+
+
+In implementing the http://en.wikipedia.org/wiki/Naked_objects[naked objects pattern], Apache Isis aims to infer as much information from the domain classes as possible. Nevertheless, some metadata relating solely to the UI is inevitably required.
+
+
+This chapter describes how this is done both for domain objects -- statically or dynamically -- and for the application menu bar (containing domain service' actions).
+
+include::_ug_reference-object-layout_static.adoc[leveloffset=+1]
+include::_ug_reference-object-layout_dynamic.adoc[leveloffset=+1]
+include::_ug_reference-object-layout_application-menu.adoc[leveloffset=+1]
+include::_ug_reference-object-layout_static-vs-dynamic.adoc[leveloffset=+1]
+
+
http://git-wip-us.apache.org/repos/asf/isis/blob/e9ccddbe/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-object-layout_application-menu.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-object-layout_application-menu.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-object-layout_application-menu.adoc
new file mode 100644
index 0000000..61fdac3
--- /dev/null
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-object-layout_application-menu.adoc
@@ -0,0 +1,171 @@
+[[_ug_reference-object-layout_application-menu]]
+= Application Menu Layout
+:Notice: 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.
+:_basedir: ../
+:_imagesdir: images/
+
+
+
+The actions of domain services are made available as an application menu bar. By default each domain service
+corresponds to a single menu on this menu bar, with its actions as the drop-down menu items. This is rarely exactly
+what is required, however. The `@MemberOrder` and `@DomainServiceLayout` annotations can be used to rearrange the
+placement of menu items.
+
+The screenshots below are taken from http://github.com/estatio/estatio[Estatio], an open source estate management
+application built using Apache Isis.
+
+== @DomainServiceLayout
+
+Menus for domain services can be placed either on a primary, secondary or tertiary menu bar.
+
+image::{_imagesdir}wicket-viewer/application-menu/layout-menus.png[width="800px",link="{_imagesdir}wicket-viewer/application-menu/layout-menus.png"]
+
+Within a single top-level menu (eg "Fixed Assets") there can be actions from multiple services. The Wicket viewer
+automatically adds a divider between each:
+
+image::{_imagesdir}wicket-viewer/application-menu/dividers.png[width="400px",link="{_imagesdir}wicket-viewer/application-menu/dividers.png"]
+
+In the example above the top-level menu combines the actions from the `Properties`, `Units` and `FixedAssetRegistrations`
+services. The `Properties` service is annotated:
+
+[source,java]
+----
+@DomainServiceLayout(
+ named="Fixed Assets",
+ menuBar = DomainServiceLayout.MenuBar.PRIMARY,
+ menuOrder = "10.1"
+)
+public class Properties ... { ... }
+----
+
+while the `Units` service is annotated:
+
+[source,java]
+----
+@DomainServiceLayout(
+ named="Fixed Assets",
+ menuBar = DomainServiceLayout.MenuBar.PRIMARY,
+ menuOrder = "10.2"
+)
+public class Units ... { ... }
+----
+
+and similarly `FixedAssetRegistrations` is annotated:
+
+[source,java]
+----
+@DomainServiceLayout(
+ named="Fixed Assets",
+ menuBar = DomainServiceLayout.MenuBar.PRIMARY,
+ menuOrder = "10.3"
+)
+public class FixedAssetRegistrations ... { ... }
+----
+
+Note that in all three cases the value of the `named` attribute and the `menuBar` attribute is the same: "Fixed Assets"
+and PRIMARY. This means that all will appear on a "Fixed Assets" menu in the primary menu bar.
+
+Meanwhile the value of `menuOrder` attribute is significant for two reasons:
+
+* for these three services on the same ("Fixed Assets") top-level menu, it determines the relative order of their sections (`Properties` first, then `Units`, then `FixedAssetRegistrations`)
+* it determines the placement of the top-level menu itself ("Fixed Assets") with respect to other top-level menus on the menu bar.
+
+To illustrate this latter point, the next top-level menu on the menu bar, "Parties", is placed after "Fixed Assets"
+ because the `menuOrder` of the first of its domain services, namely the `Parties` service, is higher than that for
+ "Fixed Assets":
+
+[source,java]
+----
+@DomainServiceLayout(
+ named="Parties",
+ menuBar = DomainServiceLayout.MenuBar.PRIMARY,
+ menuOrder = "20.1"
+)
+public class Parties ... { ... }
+----
+
+Note that only the `menuOrder` of the _first_ domain service is significant in placing the menus along the menu bar;
+thereafter the purpose of the `menuOrder` is to order the menu services sections on the menu itself.
+
+== Ordering of a service's actions within a menu
+
+For a given service, the actions within a section on a menu is determined by the `@MemberOrder` annotation. Thus, for
+the `Units` domain service, its actions are annotated:
+
+[source,java]
+----
+public class Units extends EstatioDomainService<Unit> {
+
+ @MemberOrder(sequence = "1")
+ public Unit newUnit( ... ) { ... }
+
+ @MemberOrder(sequence = "2")
+ public List<Unit> findUnits( ... ) { ... }
+
+ @ActionLayout( prototype = true )
+ @MemberOrder(sequence = "99")
+ public List<Unit> allUnits() { ... }
+ ...
+}
+----
+
+Note that the last is also a prototype action (meaning it is only displayed in SERVER_PROTOTYPE (=Wicket Development) mode).
+In the UI it is rendered in italics.
+
+(It is possible to override this place of a given action by specifying `@MemberOrder(name="...")` where the name is
+that of a top-level menu. Prior to 1.8.0 this was the only way of doing things, as of 1.8.0 its use
+is not recommended).
+
+== Tertiary menubar
+
+The tertiary menu bar consists of a single unnamed menu, rendered underneath the user's login, top right. This is
+intended primarily for actions pertaining to the user themselves, eg their account, profile or settings:
+
+image::{_imagesdir}wicket-viewer/application-menu/tertiary.png[width="300px",link="{_imagesdir}wicket-viewer/application-menu/tertiary.png"]
+
+Domain services' actions can be associated with the tertiary menu using the same `@DomainServiceLayout` annotation. For
+example, the `updateEpochDate(...)` and `listAllSettings(...)` actions come from the following service:
+
+[source,java]
+----
+@DomainServiceLayout(
+ menuBar = DomainServiceLayout.MenuBar.TERTIARY,
+ menuOrder = "10.1"
+)
+public class EstatioAdministrationService ... {
+
+ @MemberOrder(sequence = "1")
+ public void updateEpochDate( ... ) { ... }
+
+ @MemberOrder(sequence = "2")
+ public List<ApplicationSetting> listAllSettings() { ... }
+ ...
+}
+----
+
+Because the number of items on the tertiary menu is expected to be small and most will pertain to the current user, the
+viewer does _not_ place dividers between actions from different services on the tertiary menu.
+
+
+== Isis Add-on modules
+
+Some of the Isis add-ons modules also provide services whose actions appear in top-level menus.
+
+The http://github.com/isisaddons/isis-module-security[security]'s module places its domain service menus in three
+top-level menus:
+
+* its `ApplicationUsers`, `ApplicationRoles`, `ApplicationPermission`, `ApplicationFeatureViewModels` and
+ `ApplicationTenancies` domain services are all grouped together in a single "Security" top-level menu, on the
+ SECONDARY menu bar
+
+* its `SecurityModuleAppFixturesService` domain service, which allows the security modules' fixture scripts to be run,
+ is placed on a "Prototyping" top-level menu, also on the SECONDARY menu bar
+
+* its `MeService` domain service, which provides the `me()` action, is placed on the TERTIARY menu bar.
+
+Meanwhile the http://github.com/isisaddons/isis-module-devutils[devutils] module places its actions - to download layouts and
+so forth - on a "Prototyping" top-level menu, on the SECONDARY menu bar.
+
+Currently there is no facility to alter the placement of these services. However, their UI can be suppressed
+using security or using a xref:_ug_more-advanced_assembling_vetoing-visibility[vetoing subscriber].
+
http://git-wip-us.apache.org/repos/asf/isis/blob/e9ccddbe/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-object-layout_dynamic.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-object-layout_dynamic.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-object-layout_dynamic.adoc
new file mode 100644
index 0000000..0d9db57
--- /dev/null
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-object-layout_dynamic.adoc
@@ -0,0 +1,113 @@
+[[_ug_reference-object-layout_dynamic]]
+= Dynamic Object Layout
+:Notice: 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.
+:_basedir: ../
+:_imagesdir: images/
+
+
+
+Metadata providing UI hints can be specified either statically, using annotations, or dynamically, using a `.layout.json` file. This section describes the dynamic approach, using the file.
+
+
+== JSON layout file
+
+The JSON layout file for class `Xxx` takes the name `Xxx.layout.json`, and resides in the same package as the class.
+The format of the file is:
+
+[source,javascript]
+----
+{
+ "columns": [ // list of columns
+ {
+ "span": 6, // span of the left-hand property column
+ "memberGroups": { // ordered map of member (property) groups
+ "General": { // member group name
+ "members": {
+ "description": { // property, no associated actions, but with UI hint
+ "propertyLayout": {
+ "typicalLength": 50 // UI hint for size of field (no longer used in ISIS 1.8.0)
+ }
+ },
+ "category": {},
+ "complete": { // property, with associated actions
+ "propertyLayout": {
+ "describedAs": "Whether this todo item has been completed"
+ },
+ "actions": {
+ "completed": {
+ "actionLayout": {
+ "named": "Done", // naming UI hint
+ "cssClass": "x-highlight" // CSS UI hint
+ }
+ },
+ "notYetCompleted": {
+ "actionLayout": {
+ "named": "Not done"
+ }
+ }
+ }
+ }
+ },
+ "Misc": {
+ "members": {
+ "notes": {
+ "propertyLayout": {
+ "multiLine": 5 // UI hint for text area
+ }
+ },
+ "versionSequence": {}
+ }
+ }
+ }
+ }
+ },
+ {
+ "span": 6, // span of the middle property column
+ "memberGroups": { ... }
+ },
+ {
+ "span": 0 // span of the right property column (if any)
+ },
+ {
+ "span": 6,
+ "collections": { // ordered map of collections
+ "dependencies": { // collection, with associated actions
+ "collectionLayout": {
+ "paged": 10, // pagination UI hint
+ "render": "EAGERLY" // lazy-loading UI hint
+ },
+ "actions": {
+ "add":{},
+ "delete": {}
+ },
+ },
+ "similarItems": {} // collection, no associated actions
+ }
+ }
+ ],
+ "actions": { // actions not associated with any member
+ "delete": {},
+ "duplicate": {
+ "actionLayout": {
+ "named": {
+ "value": "Clone"
+ }
+ }
+ }
+ }
+}
+----
+
+Although advisable, it is not necessary to list all class members in this file. Any members not listed with be
+ordered according either to annotations (if present) or fallback/default values.
+
+Note also that the layout file may contain entries for xref:_ug_how-tos_contributed-members[contributed associations and actions]; this allows each contributee classes to define their own layout for their contributions, possibly overriding any static metadata on the original domain service contributor.
+
+
+
+== Downloading an initial layout file
+
+The fastest way to get started is to use the (non-ASF) link:http://github.com/isisaddons/isis-module-devutils[Isis addons' devutils] module to download the layout file (derived from any existing static metadata defined by annotations).
+
+
+
http://git-wip-us.apache.org/repos/asf/isis/blob/e9ccddbe/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-object-layout_static-vs-dynamic.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-object-layout_static-vs-dynamic.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-object-layout_static-vs-dynamic.adoc
new file mode 100644
index 0000000..32641f4
--- /dev/null
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-object-layout_static-vs-dynamic.adoc
@@ -0,0 +1,24 @@
+[[_ug_reference-object-layout_static-vs-dynamic]]
+= Static vs Dynamic Layouts
+:Notice: 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.
+:_basedir: ../
+:_imagesdir: images/
+
+
+
+
+Using xref:_ug_reference-object-layout_dynamic[dynamic object layout]s using JSON has the huge benefit that the layout can be updated without requiring a recompile of the code and redeploy of the app. Many developers also find it easier to rationalize about layout when all the hints are collated together in a single place (rather than scattered across the class members as annotations).
+
+Another benefit of dynamic layout is that UI hints can be provided for xref:_ug_how-tos_contributed-members[contributed associations and actions] that are synthesised at runtime.
+
+The main downsides of using dynamic layouts are a lack of typesafety (a typo will result in the metadata not being picked up for the element) and syntactic fragility (an invalid JSON document will result in no metadata for the entire class).
+
+Also, dynamic layouts have no notion of inheritance, whereas the dewey-decimal format `@MemberOrder` annotation allows the metadata of the subclass its superclasses to fit together relatively seamlessly.
+
+
+
+== Best of both worlds?
+
+Using the (non-ASF) link:http://github.com/isisaddons/isis-jrebel-plugin[Isis addons' jrebel] plugin comes close to getting the best of both words: metadata is specified in a type-safe way using annotations, but can be reloaded automatically.
+
+The downsides are licensing cost, and also the fact that metadata for contributed actions in the contributee class cannot be specified.
http://git-wip-us.apache.org/repos/asf/isis/blob/e9ccddbe/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-object-layout_static.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-object-layout_static.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-object-layout_static.adoc
new file mode 100644
index 0000000..deeec43
--- /dev/null
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_reference-object-layout_static.adoc
@@ -0,0 +1,146 @@
+[[_ug_reference-object-layout_static]]
+= Static Object Layout
+:Notice: 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.
+:_basedir: ../
+:_imagesdir: images/
+
+
+Metadata providing UI hints can be specified either statically, using annotations, or dynamically, using a `.layout.json` file. This section describes the static approach, using annotations.
+
+
+
+== `@MemberOrder`
+
+To specify the relative order of domain class properties and classes, the `@MemberOrder` annotation is used.
+
+For example:
+
+[source,java]
+----
+public class ToDoItem {
+ @MemberOrder(sequence="1")
+ public String getDescription() { ... }
+ @MemberOrder(sequence="2")
+ public String getCategory() { ... }
+ @MemberOrder(sequence="3")
+ public boolean isComplete() { ... }
+ @MemberOrder(name="Detail", sequence="1")
+ public LocalDate getDueBy() { ... }
+ @MemberOrder(name="Detail", sequence="2")
+ public BigDecimal getCost() { ... }
+ @MemberOrder(name="Detail", sequence="4")
+ public String getNotes() { ... }
+ @MemberOrder(name="Misc", sequence="99")
+ public Long getVersionSequence() { ... }
+ ...
+}
+----
+
+This defines three property (or member) groups, "General", "Detail" and "Misc"; "General" is the default if no `name` attribute is specified. Properties in the same member group are rendered together, as a fieldset.
+
+In addition, actions can optionally be associated (rendered close to) either properties or actions. This is done by overloading the `@MemberOrder`'s `name` attribute, holding the value of the property or collection.
+
+For example:
+
+[source,java]
+----
+public class ToDoItem {
+ @MemberOrder(sequence="3")
+ public boolean isComplete() { ... }
+ @MemberOrder(name="complete", sequence="1")
+ public ToDoItem completed() { ...}
+ @MemberOrder(name="complete", sequence="2")
+ public ToDoItem notYetCompleted() { ...}
+
+ @MemberOrder(sequence="1")
+ public SortedSet<ToDoItem> getDependencies() { ... }
+ @MemberOrder(name="dependencies", sequence="1")
+ public ToDoItem add(ToDoItem t) { ...}
+ @MemberOrder(name="dependencies", sequence="2")
+ public ToDoItem remove(ToDoItem t) { ...}
+ ...
+}
+----
+
+will associate the `completed()` and `notYetCompleted()` actions with the `complete` property, and will associate the `add()` and `remove()` actions with the `dependencies` collection.
+
+If the `name` attribute is omitted, then the action is rendered near the header. Note also that the `@MemberOrder`'s `name` attribute has no meaning for collections.
+
+
+
+
+== `@MemberGroupLayout`
+
+The `@MemberGroupLayout` annotation specifies the relative positioning of property groups as being either in a left column, a middle column or in a right column. It also specifies the relative width.
+
+For example:
+
+[source,java]
+----
+@MemberGroupLayout(
+ columnSpans={3,3,0,6},
+ left={"General", "Misc"},
+ middle="Detail"
+ )
+public class ToDoItem {
+ ...
+}
+----
+
+Four values are given in the `columnSpans` attribute. The first three are the relative widths of the three columns of property groups. The fourth, meanwhile, indicates the width of a final column that holds all the collections of the object.
+
+The values of these spans are taken as proportions of 12 virtual columns across the page (this taken from the link:http://getbootstrap.com/2.3.2/[Bootstrap] library).
+
+For example:
+
+* `{3,3,0,6}` indicates:
+** a left column of properties taking up 25% of the width
+** a middle column of properties taking up 25% of the width
+** a right column of collections taking up 50% of the width
+* `{2,6,0,4}` indicates:
+** a left column of properties taking up ~16% of the width
+** a middle column of properties taking up 50% of the width
+** a right column of collections taking up ~33% of the width
+* `{2,3,3,4}` indicates:
+** a left column of properties taking up ~16% of the width
+** a middle column of properties taking up 25% of the width
+** a right column of properties taking up 25% of the width
+** a far right column of collections taking up ~33% of the width
+
+If the sum of all the columns exceeds 12, then the collections are placed underneath the properties, taking up the full span. For example:
+
+* {4,4,4,12} indicates:
+** a left column of properties taking up ~33% of the width
+** a middle column of properties taking up ~33% of the width
+** a right column of properties taking up ~33% of the width
+** the collections underneath the property columns, taking up the full width
+
+== Example Layouts
+
+Below are sketches for the layout of the https://github.com/apache/isis/blob/f38fdb92941172eabb12e0943509f239e6d5925f/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/dom/todo/ToDoItem.java[ToDoItem] class of the Isis addons example https://github.com/isisaddons/isis-app-todoapp/[todoapp] (not ASF):
+
+The first divides the properties into two equal sized columns (6-6-0) and puts the collections underneath (12):
+
+image::{_imagesdir}reference-layout/6-6-0-12.png[width="720px",link="{_imagesdir}reference-layout/6-6-0-12.png"]
+
+The next divides the collections into three equal sized columns (4-4-4) and again puts the collections underneath (12):
+
+image::{_imagesdir}reference-layout/4-4-4-12.png[width="720px",link="{_imagesdir}reference-layout/4-4-4-12.png"]
+
+The last puts the properties into a single column (4-0) and places the collections into the other larger column (8-0):
+
+image::{_imagesdir}reference-layout/4-0-8-0.png[width="720px",link="{_imagesdir}reference-layout/4-0-8-0.png"]
+
+
+== Other Annotations
+
+As of 1.8.0, all the layout annotations have been consolidated into the various `XxxLayout` annotations:
+
+* xref:_ug_reference-annotations_manpage-ActionLayout[`@ActionLayout`]
+* xref:_ug_reference-annotations_manpage-CollectionLayout[`@CollectionLayout`]
+* xref:_ug_reference-annotations_manpage-DomainObjectLayout[`@DomainObjectLayout`]
+* xref:_ug_reference-annotations_manpage-DomainServiceLayout[`@DomainServiceLayout`]
+* xref:_ug_reference-annotations_manpage-ParameterLayout[`@ParameterLayout`]
+* xref:_ug_reference-annotations_manpage-PropertyLayout[`@PropertyLayout`]
+* xref:_ug_reference-annotations_manpage-ViewModelLayout[`@ViewModelLayout`]
+
http://git-wip-us.apache.org/repos/asf/isis/blob/e9ccddbe/adocs/documentation/src/main/asciidoc/user-guide/_ug_runtime_configuring-core.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_runtime_configuring-core.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_runtime_configuring-core.adoc
index 625ac04..700939e 100644
--- a/adocs/documentation/src/main/asciidoc/user-guide/_ug_runtime_configuring-core.adoc
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_runtime_configuring-core.adoc
@@ -78,7 +78,7 @@ See xref:_ug_extending_programming-model_custom-validator[Custom Validator] to l
|`isis.reflector.` +
`layoutMetadataReaders`
|`FQCN`,`FQCN2`,...
-|Fully qualified class names of classes to be instantiated to read layout metadata, as used in for xref:_ug_wicket-viewer_layout_dynamic-object-layout[dynamic layout]s. +
+|Fully qualified class names of classes to be instantiated to read layout metadata, as used in for xref:_ug_reference-object-layout_dynamic[dynamic layout]s. +
See xref:_ug_extending_programming-model_layout-metadata-reader[Layout Metadata Reader] for more information.
http://git-wip-us.apache.org/repos/asf/isis/blob/e9ccddbe/adocs/documentation/src/main/asciidoc/user-guide/_ug_tutorials_stop-scaffolding-start-coding.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_tutorials_stop-scaffolding-start-coding.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_tutorials_stop-scaffolding-start-coding.adoc
index 2ec23b6..82bc37d 100644
--- a/adocs/documentation/src/main/asciidoc/user-guide/_ug_tutorials_stop-scaffolding-start-coding.adoc
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_tutorials_stop-scaffolding-start-coding.adoc
@@ -309,7 +309,7 @@ Domain entities have state: either values (primitives, strings) or references to
* revisit the title, consider whether to use the xref:_ug_reference-annotations_manpage-Title[`@Title`] annotation
** rather than the xref:_ug_reference-methods_reserved_manpage-title[`title()`] `title()` method
* order the properties using the xref:_ug_reference-annotations_manpage-MemberOrder[`@MemberOrder`], also `@MemberGroupLayout`
-** see also the docs on xref:_ug_wicket-viewer_layout_static-object-layout[static layouts]
+** see also the docs on xref:_ug_reference-object-layout_static[static layouts]
* use the xref:_ug_reference-annotations_manpage-PropertyLayout[`@PropertyLayout`] annotation to position property/action parameter labels either to the LEFT, TOP or NONE
** do the same for parameters using xref:_ug_reference-annotations_manpage-ParameterLayout[`@ParameterLayout`]
@@ -392,7 +392,7 @@ So:
Up to this point we've been using annotations (`@MemberOrder`, `@MemberGroupLayout`, `@Named`, `@PropertyLayout`, `@ParameterLayout`, `@ActionLayout` and so on) for UI hints. However, the feedback loop is not good: it requires us stopping the app, editing the code, recompiling and running again. So instead, all these UI hints (and more) can be specified dynamically, using a corresponding `.layout.json` file. If edited while the app is running, it will be reloaded automatically (in IntelliJ, use Run>Reload Changed Classes):
-* Delete the various hint annotations and instead specify layout hints using a xref:_ug_wicket-viewer_layout_dynamic-object-layout[.layout.json] file.
+* Delete the various hint annotations and instead specify layout hints using a xref:_ug_reference-object-layout_dynamic[.layout.json] file.
http://git-wip-us.apache.org/repos/asf/isis/blob/e9ccddbe/adocs/documentation/src/main/asciidoc/user-guide/_ug_wicket-viewer_customisation_tweaking-css-classes.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_wicket-viewer_customisation_tweaking-css-classes.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_wicket-viewer_customisation_tweaking-css-classes.adoc
index af20aa5..b619cc4 100644
--- a/adocs/documentation/src/main/asciidoc/user-guide/_ug_wicket-viewer_customisation_tweaking-css-classes.adoc
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_wicket-viewer_customisation_tweaking-css-classes.adoc
@@ -94,7 +94,7 @@ div.x-myapp-highlight span.scalarName {
}
----
-Note also that instead of using `@PropertyLayout(cssClass=...)` annotation, you can also specify the CSS style using a xref:_ug_wicket-viewer_layout_dynamic-object-layout[dynamic layout] JSON file:
+Note also that instead of using `@PropertyLayout(cssClass=...)` annotation, you can also specify the CSS style using a xref:_ug_reference-object-layout_dynamic[dynamic layout] JSON file:
[source,javascript]
----