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/05/28 15:03:44 UTC
[18/29] isis git commit: ISIS-1133: working on anchors and
cross-references.
http://git-wip-us.apache.org/repos/asf/isis/blob/7db616ea/adocs/documentation/src/main/asciidoc/user-guide/_ug_security_configuring-isis-to-use-shiro.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_security_configuring-isis-to-use-shiro.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_security_configuring-isis-to-use-shiro.adoc
index 83be308..cce76a7 100644
--- a/adocs/documentation/src/main/asciidoc/user-guide/_ug_security_configuring-isis-to-use-shiro.adoc
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_security_configuring-isis-to-use-shiro.adoc
@@ -9,7 +9,7 @@ Apache Isis' security mechanism is configurable, specifying an `Authenticator` a
[TIP]
====
-The xref:__a_id_getting_started_a_simpleapp_archetype[SimpleApp archetype] is pre-configured to use Apache Shiro, so much of what follows is set up already.
+The xref:_ug_getting-started_simpleapp-archetype[SimpleApp archetype] is pre-configured to use Apache Shiro, so much of what follows is set up already.
====
== Specifying Shiro as the security mechanism
http://git-wip-us.apache.org/repos/asf/isis/blob/7db616ea/adocs/documentation/src/main/asciidoc/user-guide/_ug_security_shiro-ini-realm.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_security_shiro-ini-realm.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_security_shiro-ini-realm.adoc
index 0b4760b..9478ac4 100644
--- a/adocs/documentation/src/main/asciidoc/user-guide/_ug_security_shiro-ini-realm.adoc
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_security_shiro-ini-realm.adoc
@@ -7,7 +7,7 @@
Probably the simplest realm to use is Shiro's built-in `IniRealm`, which reads from the (same) `WEB-INF/shiro.ini` file.
-This is suitable for prototyping, but isn't intended for production use, if only because user/password credentials are stored in plain text. Nevertheless, it's a good starting point. The app generated by the xref:__a_id_getting_started_a_simpleapp_archetype[SimpleApp archetype] is configured to use this realm.
+This is suitable for prototyping, but isn't intended for production use, if only because user/password credentials are stored in plain text. Nevertheless, it's a good starting point. The app generated by the xref:_ug_getting-started_simpleapp-archetype[SimpleApp archetype] is configured to use this realm.
The diagram below shows the Isis and components involved:
http://git-wip-us.apache.org/repos/asf/isis/blob/7db616ea/adocs/documentation/src/main/asciidoc/user-guide/_ug_testing_bdd-spec-support_maven-configuration.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_testing_bdd-spec-support_maven-configuration.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_testing_bdd-spec-support_maven-configuration.adoc
index 1c508e6..55fd56a 100644
--- a/adocs/documentation/src/main/asciidoc/user-guide/_ug_testing_bdd-spec-support_maven-configuration.adoc
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_testing_bdd-spec-support_maven-configuration.adoc
@@ -7,7 +7,7 @@
-Apache Isis' BDD spec support is automatically configured if you use the xref:__a_id_getting_started_a_simpleapp_archetype[SimpleApp archetype]. To set it up manually, update the `pom.xml` of your domain object model module:
+Apache Isis' BDD spec support is automatically configured if you use the xref:_ug_getting-started_simpleapp-archetype[SimpleApp archetype]. To set it up manually, update the `pom.xml` of your domain object model module:
[source,xml]
----
http://git-wip-us.apache.org/repos/asf/isis/blob/7db616ea/adocs/documentation/src/main/asciidoc/user-guide/_ug_testing_bdd-spec-support_writing-a-bdd-spec.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_testing_bdd-spec-support_writing-a-bdd-spec.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_testing_bdd-spec-support_writing-a-bdd-spec.adoc
index d8cc597..2651d04 100644
--- a/adocs/documentation/src/main/asciidoc/user-guide/_ug_testing_bdd-spec-support_writing-a-bdd-spec.adoc
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_testing_bdd-spec-support_writing-a-bdd-spec.adoc
@@ -24,7 +24,7 @@ The `glue` attribute of the Cucumber-JVM JUnit runner eallows you to indicate wh
* a system initializer class. You can reuse the system initializer from any integration tests (as described in xref:_integration_test_support[Integration Test Support], bootstrapping section).
-Here's an example of a feature from the xref:__a_id_getting_started_a_simpleapp_archetype[SimpleApp archetype]:
+Here's an example of a feature from the xref:_ug_getting-started_simpleapp-archetype[SimpleApp archetype]:
[source,java]
----
@@ -49,7 +49,7 @@ Apache Isis does also support running BDD specs in unit test mode; by annotating
To support unit testing scope Isis provides the `InMemoryDB` class; a glorified hashmap of "persisted" objects. Use of this utility class is optional.
-Writing a BDD spec that supports both modes of operation therefore takes more effort and we expect most users interested in BDD will use integration-testing scope; for these reasons we have chosen _not_ to include unit-testing support in the xref:__a_id_getting_started_a_simpleapp_archetype[SimpleApp archetype]. For those who do require faster-executing test suite, it's worthwhile knowing that Isis can support this.
+Writing a BDD spec that supports both modes of operation therefore takes more effort and we expect most users interested in BDD will use integration-testing scope; for these reasons we have chosen _not_ to include unit-testing support in the xref:_ug_getting-started_simpleapp-archetype[SimpleApp archetype]. For those who do require faster-executing test suite, it's worthwhile knowing that Isis can support this.
====
@@ -72,7 +72,7 @@ public class RunSpecs {
}
----
-The JSON formatter allows integration with enhanced reports, for example as provided by http://www.masterthought.net/section/cucumber-reporting[Masterthought.net] (screenshots at end of page). (Commented out) configuration for this is provided in the xref:__a_id_getting_started_a_simpleapp_archetype[SimpleApp archetype].
+The JSON formatter allows integration with enhanced reports, for example as provided by http://www.masterthought.net/section/cucumber-reporting[Masterthought.net] (screenshots at end of page). (Commented out) configuration for this is provided in the xref:_ug_getting-started_simpleapp-archetype[SimpleApp archetype].
The bootstrapping of Isis can be moved into a `BootstrappingGlue` step definition:
http://git-wip-us.apache.org/repos/asf/isis/blob/7db616ea/adocs/documentation/src/main/asciidoc/user-guide/_ug_testing_fixture-scripts_api-and-usage.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_testing_fixture-scripts_api-and-usage.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_testing_fixture-scripts_api-and-usage.adoc
index 5293861..e6542e7 100644
--- a/adocs/documentation/src/main/asciidoc/user-guide/_ug_testing_fixture-scripts_api-and-usage.adoc
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_testing_fixture-scripts_api-and-usage.adoc
@@ -15,7 +15,7 @@ Let's look at `FixtureScripts` domain service in more detail first.
== `FixtureScripts`
-In your code you subclass `FixtureScripts` domain service primarily just to specify which package to search for. For example, here's the service that's generated by the xref:__a_id_getting_started_a_simpleapp_archetype[SimpleApp archetype]:
+In your code you subclass `FixtureScripts` domain service primarily just to specify which package to search for. For example, here's the service that's generated by the xref:_ug_getting-started_simpleapp-archetype[SimpleApp archetype]:
[source,java]
----
@@ -78,7 +78,7 @@ If you had defined many fixture scripts then a drop-down might become unwieldy,
----
-You are free, of course, to add additional "convenience" actions into it if you wish for the most commonly used/demo'd setups ; you'll find that the xref:__a_id_getting_started_a_simpleapp_archetype[SimpleApp archetype] adds this additional action:
+You are free, of course, to add additional "convenience" actions into it if you wish for the most commonly used/demo'd setups ; you'll find that the xref:_ug_getting-started_simpleapp-archetype[SimpleApp archetype] adds this additional action:
[source,java]
----
@@ -101,7 +101,7 @@ Let's now look at the `FixtureScript` class, where there's a bit more going on.
A fixture script is ultimately just a block of code that can be executed, so it's up to you how you implement it to set up the system. However, we strongly recommend that you use it to invoke actions on business objects, in essence to replay what a real-life user would have done. That way, the fixture script will remain valid even if the underlying implementation of the system changes in the future.
-Here's the `RecreateSimpleObjects` fixture script from the xref:__a_id_getting_started_a_simpleapp_archetype[SimpleApp archetype]:
+Here's the `RecreateSimpleObjects` fixture script from the xref:_ug_getting-started_simpleapp-archetype[SimpleApp archetype]:
[source,java]
----
@@ -213,7 +213,7 @@ public class SimpleObjectCreate extends FixtureScript { // <1>
Fixture scripts can be called from integration tests just the same way that fixture scripts can call one another.
-For example, here's an integration test from the xref:__a_id_getting_started_a_simpleapp_archetype[SimpleApp archetype]:
+For example, here's an integration test from the xref:_ug_getting-started_simpleapp-archetype[SimpleApp archetype]:
[source,java]
----
@@ -256,7 +256,7 @@ public class SimpleObjectIntegTest extends SimpleAppIntegTest {
There are lots of ways to organize fixture scripts, but we've used them as either:
-* a fairly flat style, eg as in the xref:__a_id_getting_started_a_simpleapp_archetype[SimpleApp archetype], also as in the http://github.com/isisaddons/isis-app-todoapp}[Isis addons' todoapp];
+* a fairly flat style, eg as in the xref:_ug_getting-started_simpleapp-archetype[SimpleApp archetype], also as in the http://github.com/isisaddons/isis-app-todoapp}[Isis addons' todoapp];
* in a "composite pattern" style, eg as in the https://github.com/estatio/estatio/blob/ea20a6ce257acede50de6ce4fd2ff29713fcd689/estatioapp/fixture/src/main/java/org/estatio/fixture/invoice/InvoiceForLeaseItemTypeOfDiscountOneQuarterForOxfMiracle005.java#L66)[Estatio open source app].
@@ -278,7 +278,7 @@ image::{_imagesdir}testing/fixture-scripts/composite.png[width="550px",link="_im
Back in the earlier xref:_fixturescripts[`FixtureScripts`] section we noted the `MultipleExecutionStrategy` setting. We can now explain the meaning of this: the enum value of `EXECUTE` is designed for the flat style (where every fixture script will be called), whereas the enum value of `IGNORE` is designed for the composite style, and ensures that any fixture scripts visited more than once (eg TearDown) are only every executed the first time.
-As already noted , the app generated by the xref:__a_id_getting_started_a_simpleapp_archetype[SimpleApp archetype] uses the flat structure, and we feel that it's a better at separating out the "how" (how we set up some graph of domain objects into a known state, eg a customer with shipped placed orders and a newly placed order) from the "what" (what data should we actually use for the customer's name, say).
+As already noted , the app generated by the xref:_ug_getting-started_simpleapp-archetype[SimpleApp archetype] uses the flat structure, and we feel that it's a better at separating out the "how" (how we set up some graph of domain objects into a known state, eg a customer with shipped placed orders and a newly placed order) from the "what" (what data should we actually use for the customer's name, say).
The composite style tends to combine these, which one could argue does not separate responsibilities well enough. On the other hand, one could also make an argument that the composite style is a good way to implement precanned personas, eg "Joe", the customer who has a newly placed order, from "Mary" customer who has none.
http://git-wip-us.apache.org/repos/asf/isis/blob/7db616ea/adocs/documentation/src/main/asciidoc/user-guide/_ug_testing_integ-test-support_bootstrapping.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_testing_integ-test-support_bootstrapping.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_testing_integ-test-support_bootstrapping.adoc
index d09dec3..407a572 100644
--- a/adocs/documentation/src/main/asciidoc/user-guide/_ug_testing_integ-test-support_bootstrapping.adoc
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_testing_integ-test-support_bootstrapping.adoc
@@ -16,7 +16,7 @@ Since the integration tests don't depend on the `webapp` module, it's necessary
We hope to simplify the way this works in future versions of Isis.
====
-The example code in this section is taken from the app generated by the xref:__a_id_getting_started_a_simpleapp_archetype[SimpleApp archetype].
+The example code in this section is taken from the app generated by the xref:_ug_getting-started_simpleapp-archetype[SimpleApp archetype].
http://git-wip-us.apache.org/repos/asf/isis/blob/7db616ea/adocs/documentation/src/main/asciidoc/user-guide/_ug_testing_integ-test-support_maven-configuration.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_testing_integ-test-support_maven-configuration.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_testing_integ-test-support_maven-configuration.adoc
index 0d19e82..dd3684e 100644
--- a/adocs/documentation/src/main/asciidoc/user-guide/_ug_testing_integ-test-support_maven-configuration.adoc
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_testing_integ-test-support_maven-configuration.adoc
@@ -5,7 +5,7 @@
:_imagesdir: images/
-Apache Isis' integration test support is automatically configured if you use the xref:__a_id_getting_started_a_simpleapp_archetype[SimpleApp archetype]. To set it up manually, update the `pom.xml` of your domain object model module:
+Apache Isis' integration test support is automatically configured if you use the xref:_ug_getting-started_simpleapp-archetype[SimpleApp archetype]. To set it up manually, update the `pom.xml` of your domain object model module:
[source,xml]
----
http://git-wip-us.apache.org/repos/asf/isis/blob/7db616ea/adocs/documentation/src/main/asciidoc/user-guide/_ug_testing_unit-test-support_maven-configuration.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_testing_unit-test-support_maven-configuration.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_testing_unit-test-support_maven-configuration.adoc
index e9c6f09..928a9b1 100644
--- a/adocs/documentation/src/main/asciidoc/user-guide/_ug_testing_unit-test-support_maven-configuration.adoc
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_testing_unit-test-support_maven-configuration.adoc
@@ -5,7 +5,7 @@
:_imagesdir: images/
-Apache Isis' unit test support is automatically configured if you use the xref:__a_id_getting_started_a_simpleapp_archetype[SimpleApp archetype]. To set it up manually, update the `pom.xml` of your domain object model module:
+Apache Isis' unit test support is automatically configured if you use the xref:_ug_getting-started_simpleapp-archetype[SimpleApp archetype]. To set it up manually, update the `pom.xml` of your domain object model module:
[source,xml]
----
http://git-wip-us.apache.org/repos/asf/isis/blob/7db616ea/adocs/documentation/src/main/asciidoc/user-guide/_ug_troubleshooting_enabling-logging.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_troubleshooting_enabling-logging.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_troubleshooting_enabling-logging.adoc
index 0d10f18..414dc7d 100644
--- a/adocs/documentation/src/main/asciidoc/user-guide/_ug_troubleshooting_enabling-logging.adoc
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_troubleshooting_enabling-logging.adoc
@@ -18,7 +18,7 @@ As per the http://www.datanucleus.org/products/accessplatform/logging.html[DN lo
Configure log4jdbc JDBC rather than the vanilla driver (see `WEB-INF/persistor_datanucleus.properties`) and configure log4j logging (see `WEB-INF/logging.properties`).
-There are examples of both in the xref:__a_id_getting_started_a_simpleapp_archetype[SimpleApp archetype].
+There are examples of both in the xref:_ug_getting-started_simpleapp-archetype[SimpleApp archetype].
== In the Database
http://git-wip-us.apache.org/repos/asf/isis/blob/7db616ea/adocs/documentation/src/main/asciidoc/user-guide/_ug_tutorials_pet-clinic.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_tutorials_pet-clinic.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_tutorials_pet-clinic.adoc
index 68ca323..b4ed133 100644
--- a/adocs/documentation/src/main/asciidoc/user-guide/_ug_tutorials_pet-clinic.adoc
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_tutorials_pet-clinic.adoc
@@ -5,7 +5,7 @@
:_imagesdir: images/
-This is a step-by-step tutorial to build up a simple "petclinic" application, starting from the xref:__a_id_getting_started_a_simpleapp_archetype[SimpleApp archetype].
+This is a step-by-step tutorial to build up a simple "petclinic" application, starting from the xref:_ug_getting-started_simpleapp-archetype[SimpleApp archetype].
It consists of just three domain classes:
http://git-wip-us.apache.org/repos/asf/isis/blob/7db616ea/adocs/documentation/src/main/asciidoc/user-guide/_ug_wicket-viewer.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_wicket-viewer.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_wicket-viewer.adoc
index 3cb6512..973d315 100644
--- a/adocs/documentation/src/main/asciidoc/user-guide/_ug_wicket-viewer.adoc
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_wicket-viewer.adoc
@@ -11,7 +11,7 @@ Note that extending the Wicket viewer is described in the <<Extending>> chapter.
include::_ug_wicket-viewer_features.adoc[leveloffset=+1]
-include::_ug_wicket-viewer_configuration_properties.adoc[leveloffset=+1]
+include::_ug_wicket-viewer_configuration-properties.adoc[leveloffset=+1]
include::_ug_wicket-viewer_request-parameters.adoc[leveloffset=+1]
http://git-wip-us.apache.org/repos/asf/isis/blob/7db616ea/adocs/documentation/src/main/asciidoc/user-guide/_ug_wicket-viewer_configuration-properties.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_wicket-viewer_configuration-properties.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_wicket-viewer_configuration-properties.adoc
new file mode 100644
index 0000000..f2ea398
--- /dev/null
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_wicket-viewer_configuration-properties.adoc
@@ -0,0 +1,112 @@
+[[_ug_wicket-viewer_configuration-properties]]
+= Configuration Properties
+: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/
+
+
+Wicket configuration properties alter the way in which Isis' Wicket viewer renders domain objects. They are typically stored in `WEB-INF/viewer_wicket.properties`.
+
+[NOTE]
+====
+To tell Isis that the Wicket viewer is in use (and should therefore search for the `viewer_wicket.properties` file), add the following to `WEB-INF/web.xml`:
+
+[source, xml]
+----
+<context-param>
+ <param-name>isis.viewers</param-name>
+ <param-value>wicket</param-value>
+</context-param>
+----
+
+====
+
+If you prefer you can place all configuration properties into `WEB-INF/isis.properties` (the configuration properties from all config files are merged together).
+
+
+.Wicket Viewer Configuration Properties
+[cols="2a,1,3", options="header"]
+|===
+|Property
+|Value +
+(_default value_)
+|Description
+
+|`isis.viewer.wicket.` +
+`bookmarkedPages`
+| +ve int (`_15_`)
+| number of pages to bookmark
+
+|`isis.viewer.wicket.` +
+`disableDependentChoiceAutoSelection`
+| `true`,`false` (`_false_`)
+| For dependent choices, whether to automatically select the first dependent (eg subcategory) when the parameter on which it depends (category) changes.
+
+|`isis.viewer.wicket.` +
+`disableModalDialogs`
+| `true`,`false` (`_false_`)
+| By default the Isis Wicket viewer uses a modal dialog for action parameters. Before this feature was implemented (prior to 1.4.0), Isis rendered action parameters on its own page. This property re-enables the old behaviour.
+
+Note that action pages are still used for bookmarked actions.
+
+|`isis.viewer.wicket.` +
+`maxTitleLengthInParentedTables`
+| +ve integer, (`_12_`)
+| See discussion xref:_abbreviating_suppressing_titles_in_tables[below].
+
+|`isis.viewer.wicket.` +
+`maxTitleLengthInStandaloneTables`
+| +ve integer, (`_12_`)
+| See discussion xref:_abbreviating_suppressing_titles_in_tables[below].
+
+|`isis.viewer.wicket.` +
+`maxTitleLengthInTables`
+| +ve integer, (`_12_`)
+| See discussion xref:_abbreviating_suppressing_titles_in_tables[below].
+
+|`isis.viewer.wicket.` +
+`regularCase`
+| `true`,`false` (`_false_`)
+| Ignored for 1.8.0+; in earlier versions forced regular case rather than title case in the UI
+
+|`isis.viewer.wicket.` +
+`stripWicketTags`
+| `true`,`false` (`_true_`)
+| Whether to force Wicket tags to be stripped in prototype/development mode. See discussion xref:_stripped_wicket_tags[below].
+
+|`isis.viewer.wicket.` +
+`suppressPasswordReset`
+| `true`,`false` (`_false_`)
+|If user registration is enabled, whether to suppress the "password reset" link on the login page. See discussion xref:_suppressing_password_reset[below].
+
+|`isis.viewer.wicket.` +
+`suppressRememberMe`
+| `true`,`false` (`_false_`)
+|Whether to suppress "remember me" checkbox on the login page.
+
+|`isis.viewer.wicket.` +
+`suppressSignUp`
+| `true`,`false` (`_false_`)
+|If user registration is enabled, whether to suppress the "sign up" link on the login page. See discussion xref:_suppressing_sign_up[below].
+
+|`isis.viewer.wicket.` +
+`themes.enabled`
+| comma separated list ...
+| ... of bootswatch themes. Only applies if `themes.showChooser`==`true`. See discussion xref:_showing_a_theme_chooser[below].
+
+|`isis.viewer.wicket.` +
+`themes.showChooser`
+| `true`,`false` (`_false_`)
+| Whether to show chooser for Bootstrap themes. See discussion xref:_showing_a_theme_chooser[below]
+
+|===
+
+
+
+include::_ug_wicket-viewer_configuration-properties_abbreviating-titles.adoc[leveloffset=+1]
+include::_ug_wicket-viewer_configuration-properties_suppressing-remember-me.adoc[leveloffset=+1]
+include::_ug_wicket-viewer_configuration-properties_suppressing-sign-up.adoc[leveloffset=+1]
+include::_ug_wicket-viewer_configuration-properties_suppressing-password-reset.adoc[leveloffset=+1]
+include::_ug_wicket-viewer_configuration-properties_stripped-wicket-tags.adoc[leveloffset=+1]
+include::_ug_wicket-viewer_configuration-properties_showing-theme-chooser.adoc[leveloffset=+1]
+
http://git-wip-us.apache.org/repos/asf/isis/blob/7db616ea/adocs/documentation/src/main/asciidoc/user-guide/_ug_wicket-viewer_configuration-properties_abbreviating-titles.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_wicket-viewer_configuration-properties_abbreviating-titles.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_wicket-viewer_configuration-properties_abbreviating-titles.adoc
new file mode 100644
index 0000000..541ba4c
--- /dev/null
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_wicket-viewer_configuration-properties_abbreviating-titles.adoc
@@ -0,0 +1,33 @@
+[[_ug_wicket-viewer_configuration-properties_abbreviating-titles]]
+= Abbreviating/suppressing titles in tables
+: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/
+
+
+
+Objects whose title is overly long can be cumbersome in titles. The Wicket viewer has a xref:_titles_in_tables[mechanism to automatically shorten] the titles of objects specified using `@Title`. As an alternative/in addition, the viewer can also be configured to simply truncate titles longer than a certain length.
+
+The properties themselves are:
+
+[source,ini]
+----
+isis.viewer.wicket.maxTitleLengthInStandaloneTables=20
+isis.viewer.wicket.maxTitleLengthInParentedTables=8
+----
+
+If you wish to use the same value in both cases, you can also specify just:
+
+[source,ini]
+----
+isis.viewer.wicket.maxTitleLengthInTables=15
+----
+
+This is used as a fallback if the more specific properties are not provided.
+
+If no properties are provided, then the Wicket viewer defaults to abbreviating titles to a length of `12`.
+
+
+
+
+
http://git-wip-us.apache.org/repos/asf/isis/blob/7db616ea/adocs/documentation/src/main/asciidoc/user-guide/_ug_wicket-viewer_configuration-properties_showing-theme-chooser.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_wicket-viewer_configuration-properties_showing-theme-chooser.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_wicket-viewer_configuration-properties_showing-theme-chooser.adoc
new file mode 100644
index 0000000..6a2613d
--- /dev/null
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_wicket-viewer_configuration-properties_showing-theme-chooser.adoc
@@ -0,0 +1,43 @@
+[[_ug_wicket-viewer_configuration-properties_showing-theme-chooser]]
+= Showing a theme chooser
+: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 Wicket viewer uses http://getbootstrap.com/[Bootstrap] styles and components (courtesy of the https://github.com/l0rdn1kk0n/wicket-bootstrap[Wicket Bootstrap] integration).
+
+Unless a xref:_specifying_a_default_theme[default theme has been specified], the viewer uses the default bootstrap theme. However,
+the viewer can also be configured to allow the end-user to switch theme to another theme, in particular one of those provided by http://bootswatch.com[bootswatch.com].
+
+This is done using the following configuration property (in `WEB-INF/viewer_wicket.properties`):
+
+[source,ini]
+----
+isis.viewer.wicket.themes.showChooser=true
+----
+
+.Example 1
+image::{_imagesdir}wicket-viewer/theme-chooser/example-1.png[width="720px",link="{_imagesdir}wicket-viewer/theme-chooser/example-1.png"]
+
+
+.Example 2:
+image::{_imagesdir}wicket-viewer/theme-chooser/example-2.png[width="720px",link="{_imagesdir}wicket-viewer/theme-chooser/example-2.png"]
+
+It is also possible to restrict the themes shown to some subset of those in bootswatch. This is done using a further
+property:
+
+[source,ini]
+----
+isis.viewer.wicket.themes.enabled=bootstrap-theme,Cosmo,Flatly,Darkly,Sandstone,United
+----
+
+where the value is the list of themes (from http://bootswatch.com[bootswatch.com]) to be made available.
+
+[TIP]
+====
+You can also develop and install a custom themes (eg to fit your company's look-n-feel/interface guidelines); see the xref:_custom_bootstrap_theme[Extending] chapter for further details.
+====
+
+
http://git-wip-us.apache.org/repos/asf/isis/blob/7db616ea/adocs/documentation/src/main/asciidoc/user-guide/_ug_wicket-viewer_configuration-properties_stripped-wicket-tags.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_wicket-viewer_configuration-properties_stripped-wicket-tags.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_wicket-viewer_configuration-properties_stripped-wicket-tags.adoc
new file mode 100644
index 0000000..cb653bd
--- /dev/null
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_wicket-viewer_configuration-properties_stripped-wicket-tags.adoc
@@ -0,0 +1,26 @@
+[[_ug_wicket-viewer_configuration-properties_stripped-wicket-tags]]
+= Stripped Wicket tags
+: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/
+
+
+
+By default the Isis Wicket viewer will always strip wicket tags. However, when running in prototype mode, this behaviour can be overridden using a configuration property:
+
+[source,ini]
+----
+isis.viewer.wicket.stripWicketTags=false
+----
+
+[NOTE]
+====
+In 1.7.0 and earlier, the behaviour is different; the Isis Wicket viewer will preserve wicket tags when running in Isis' prototype/development mode, but will still strip wicket tags in Isis' server/deployment mode.
+
+We changed the behaviour in 1.8.0 because we found that Internet Explorer can be sensitive to the presence of Wicket tags.
+====
+
+
+
+
+
http://git-wip-us.apache.org/repos/asf/isis/blob/7db616ea/adocs/documentation/src/main/asciidoc/user-guide/_ug_wicket-viewer_configuration-properties_suppressing-password-reset.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_wicket-viewer_configuration-properties_suppressing-password-reset.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_wicket-viewer_configuration-properties_suppressing-password-reset.adoc
new file mode 100644
index 0000000..28f7cf6
--- /dev/null
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_wicket-viewer_configuration-properties_suppressing-password-reset.adoc
@@ -0,0 +1,47 @@
+[[_ug_wicket-viewer_configuration-properties_suppressing-password-reset]]
+= Suppressing 'password reset'
+: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/
+
+
+
+If xref:_user_registration[user registration] has been configured, then the Wicket viewer allows the user to sign-up a new account and to reset their password from the login page.
+
+The 'password reset' link can be suppressed, if required, by setting a configuration flag.
+
+
+
+== Screenshots
+
+With 'password reset' not suppressed (the default):
+
+image::{_imagesdir}wicket-viewer/suppress-password-reset/login-page-default.png[width="300px",link="{_imagesdir}wicket-viewer/suppress-password-reset/login-page-default.png"]
+
+and with the link suppressed:
+
+image::{_imagesdir}wicket-viewer/suppress-password-reset/login-page-suppress-password-reset.png[width="300px",link="{_imagesdir}wicket-viewer/suppress-password-reset/login-page-suppress-password-reset.png"]
+
+
+
+== Configuration
+
+To suppress the 'password reset' link, add the following configuration flag:
+
+[source,ini]
+----
+isis.viewer.wicket.suppressPasswordReset=true
+----
+
+Typically this should be added to the `viewer_wicket.properties` file (in `WEB-INF`), though you can add to `isis.properties` if you wish.
+
+
+
+== See also
+
+The xref:_suppressing_sign-up[sign up link] can be suppressed in a similar manner.
+
+
+
+
+
http://git-wip-us.apache.org/repos/asf/isis/blob/7db616ea/adocs/documentation/src/main/asciidoc/user-guide/_ug_wicket-viewer_configuration-properties_suppressing-remember-me.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_wicket-viewer_configuration-properties_suppressing-remember-me.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_wicket-viewer_configuration-properties_suppressing-remember-me.adoc
new file mode 100644
index 0000000..887a572
--- /dev/null
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_wicket-viewer_configuration-properties_suppressing-remember-me.adoc
@@ -0,0 +1,35 @@
+[[_ug_wicket-viewer_configuration-properties_suppressing-remember-me]]
+= Suppressing 'remember me'
+: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 'remember me' checkbox on the login page can be suppressed, if required, by setting a configuration flag.
+
+
+
+== Screenshots
+
+With 'remember me' not suppressed (the default):
+
+image::{_imagesdir}wicket-viewer/suppress-remember-me/login-page-default.png[width="300px",link="{_imagesdir}wicket-viewer/suppress-remember-me/login-page-default.png"]
+
+and with the checkbox suppressed:
+
+image::{_imagesdir}wicket-viewer/suppress-remember-me/login-page-suppress-remember-me.png[width="300px",link="{_imagesdir}wicket-viewer/suppress-remember-me/login-page-suppress-remember-me.png"]
+
+
+
+== Configuration
+
+To suppress the 'remember me' checkbox, add the following configuration flag:
+
+[source,ini]
+----
+isis.viewer.wicket.suppressRememberMe=true
+
+----
+
+
http://git-wip-us.apache.org/repos/asf/isis/blob/7db616ea/adocs/documentation/src/main/asciidoc/user-guide/_ug_wicket-viewer_configuration-properties_suppressing-sign-up.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_wicket-viewer_configuration-properties_suppressing-sign-up.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_wicket-viewer_configuration-properties_suppressing-sign-up.adoc
new file mode 100644
index 0000000..b5f4e00
--- /dev/null
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_wicket-viewer_configuration-properties_suppressing-sign-up.adoc
@@ -0,0 +1,49 @@
+[[_ug_wicket-viewer_configuration-properties_suppressing-sign-up]]
+= Suppressing 'sign up'
+: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/
+
+
+
+
+
+If xref:_user_registration[user registration] has been configured, then the Wicket viewer allows the user to sign-up a new account and to reset their password from the login page.
+
+The 'sign up' link can be suppressed, if required, by setting a configuration flag.
+
+
+
+
+== Screenshots
+
+With 'sign up' not suppressed (the default):
+
+image::{_imagesdir}wicket-viewer/suppress-sign-up/login-page-default.png[width="300px",link="{_imagesdir}wicket-viewer/suppress-sign-up/login-page-default.png"]
+
+and with the link suppressed:
+
+image::{_imagesdir}wicket-viewer/suppress-sign-up/login-page-suppress-sign-up.png[width="300px",link="{_imagesdir}wicket-viewer/suppress-sign-up/login-page-suppress-sign-up.png"]
+
+
+
+
+== Configuration
+
+To suppress the 'sign up' link, add the following configuration flag:
+
+[source,ini]
+----
+isis.viewer.wicket.suppressSignUp=true
+----
+
+
+
+== See also
+
+The xref:_suppressing_password_reset[password reset link] can be suppressed in a similar manner.
+
+
+
+
+
http://git-wip-us.apache.org/repos/asf/isis/blob/7db616ea/adocs/documentation/src/main/asciidoc/user-guide/_ug_wicket-viewer_configuration_properties.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_wicket-viewer_configuration_properties.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_wicket-viewer_configuration_properties.adoc
deleted file mode 100644
index 5f261f5..0000000
--- a/adocs/documentation/src/main/asciidoc/user-guide/_ug_wicket-viewer_configuration_properties.adoc
+++ /dev/null
@@ -1,277 +0,0 @@
-[[_ug_wicket-viewer_configuration_properties]]
-= Configuration Properties
-: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/
-
-
-Wicket configuration properties alter the way in which Isis' Wicket viewer renders domain objects. They are typically stored in `WEB-INF/viewer_wicket.properties`.
-
-[NOTE]
-====
-To tell Isis that the Wicket viewer is in use (and should therefore search for the `viewer_wicket.properties` file), add the following to `WEB-INF/web.xml`:
-
-[source, xml]
-----
-<context-param>
- <param-name>isis.viewers</param-name>
- <param-value>wicket</param-value>
-</context-param>
-----
-
-====
-
-If you prefer you can place all configuration properties into `WEB-INF/isis.properties` (the configuration properties from all config files are merged together).
-
-
-.Wicket Viewer Configuration Properties
-[cols="2a,1,3", options="header"]
-|===
-|Property
-|Value +
-(_default value_)
-|Description
-
-|`isis.viewer.wicket.` +
-`bookmarkedPages`
-| +ve int (`_15_`)
-| number of pages to bookmark
-
-|`isis.viewer.wicket.` +
-`disableDependentChoiceAutoSelection`
-| `true`,`false` (`_false_`)
-| For dependent choices, whether to automatically select the first dependent (eg subcategory) when the parameter on which it depends (category) changes.
-
-|`isis.viewer.wicket.` +
-`disableModalDialogs`
-| `true`,`false` (`_false_`)
-| By default the Isis Wicket viewer uses a modal dialog for action parameters. Before this feature was implemented (prior to 1.4.0), Isis rendered action parameters on its own page. This property re-enables the old behaviour.
-
-Note that action pages are still used for bookmarked actions.
-
-|`isis.viewer.wicket.` +
-`maxTitleLengthInParentedTables`
-| +ve integer, (`_12_`)
-| See discussion xref:_abbreviating_suppressing_titles_in_tables[below].
-
-|`isis.viewer.wicket.` +
-`maxTitleLengthInStandaloneTables`
-| +ve integer, (`_12_`)
-| See discussion xref:_abbreviating_suppressing_titles_in_tables[below].
-
-|`isis.viewer.wicket.` +
-`maxTitleLengthInTables`
-| +ve integer, (`_12_`)
-| See discussion xref:_abbreviating_suppressing_titles_in_tables[below].
-
-|`isis.viewer.wicket.` +
-`regularCase`
-| `true`,`false` (`_false_`)
-| Ignored for 1.8.0+; in earlier versions forced regular case rather than title case in the UI
-
-|`isis.viewer.wicket.` +
-`stripWicketTags`
-| `true`,`false` (`_true_`)
-| Whether to force Wicket tags to be stripped in prototype/development mode. See discussion xref:_stripped_wicket_tags[below].
-
-|`isis.viewer.wicket.` +
-`suppressPasswordReset`
-| `true`,`false` (`_false_`)
-|If user registration is enabled, whether to suppress the "password reset" link on the login page. See discussion xref:_suppressing_password_reset[below].
-
-|`isis.viewer.wicket.` +
-`suppressRememberMe`
-| `true`,`false` (`_false_`)
-|Whether to suppress "remember me" checkbox on the login page.
-
-|`isis.viewer.wicket.` +
-`suppressSignUp`
-| `true`,`false` (`_false_`)
-|If user registration is enabled, whether to suppress the "sign up" link on the login page. See discussion xref:_suppressing_sign_up[below].
-
-|`isis.viewer.wicket.` +
-`themes.enabled`
-| comma separated list ...
-| ... of bootswatch themes. Only applies if `themes.showChooser`==`true`. See discussion xref:_showing_a_theme_chooser[below].
-
-|`isis.viewer.wicket.` +
-`themes.showChooser`
-| `true`,`false` (`_false_`)
-| Whether to show chooser for Bootstrap themes. See discussion xref:_showing_a_theme_chooser[below]
-
-|===
-
-
-
-== Abbreviating/suppressing titles in tables
-
-Objects whose title is overly long can be cumbersome in titles. The Wicket viewer has a xref:_titles_in_tables[mechanism to automatically shorten] the titles of objects specified using `@Title`. As an alternative/in addition, the viewer can also be configured to simply truncate titles longer than a certain length.
-
-The properties themselves are:
-
-[source,ini]
-----
-isis.viewer.wicket.maxTitleLengthInStandaloneTables=20
-isis.viewer.wicket.maxTitleLengthInParentedTables=8
-----
-
-If you wish to use the same value in both cases, you can also specify just:
-
-[source,ini]
-----
-isis.viewer.wicket.maxTitleLengthInTables=15
-----
-
-This is used as a fallback if the more specific properties are not provided.
-
-If no properties are provided, then the Wicket viewer defaults to abbreviating titles to a length of `12`.
-
-
-
-
-== Suppressing 'remember me'
-
-The 'remember me' checkbox on the login page can be suppressed, if required, by setting a configuration flag.
-
-=== Screenshots
-
-With 'remember me' not suppressed (the default):
-
-image::{_imagesdir}wicket-viewer/suppress-remember-me/login-page-default.png[width="300px",link="{_imagesdir}wicket-viewer/suppress-remember-me/login-page-default.png"]
-
-and with the checkbox suppressed:
-
-image::{_imagesdir}wicket-viewer/suppress-remember-me/login-page-suppress-remember-me.png[width="300px",link="{_imagesdir}wicket-viewer/suppress-remember-me/login-page-suppress-remember-me.png"]
-
-=== Configuration
-
-To suppress the 'remember me' checkbox, add the following configuration flag:
-
-[source,ini]
-----
-isis.viewer.wicket.suppressRememberMe=true
-----
-
-
-
-== Suppressing 'sign up'
-
-If xref:_user_registration[user registration] has been configured, then the Wicket viewer allows the user to sign-up a new account and to reset their password from the login page.
-
-The 'sign up' link can be suppressed, if required, by setting a configuration flag.
-
-=== Screenshots
-
-With 'sign up' not suppressed (the default):
-
-image::{_imagesdir}wicket-viewer/suppress-sign-up/login-page-default.png[width="300px",link="{_imagesdir}wicket-viewer/suppress-sign-up/login-page-default.png"]
-
-and with the link suppressed:
-
-image::{_imagesdir}wicket-viewer/suppress-sign-up/login-page-suppress-sign-up.png[width="300px",link="{_imagesdir}wicket-viewer/suppress-sign-up/login-page-suppress-sign-up.png"]
-
-
-=== Configuration
-
-To suppress the 'sign up' link, add the following configuration flag:
-
-[source,ini]
-----
-isis.viewer.wicket.suppressSignUp=true
-----
-
-=== See also
-
-The xref:_suppressing_password_reset[password reset link] can be suppressed in a similar manner.
-
-
-
-== Suppressing 'password reset'
-
-If xref:_user_registration[user registration] has been configured, then the Wicket viewer allows the user to sign-up a new account and to reset their password from the login page.
-
-The 'password reset' link can be suppressed, if required, by setting a configuration flag.
-
-=== Screenshots
-
-With 'password reset' not suppressed (the default):
-
-image::{_imagesdir}wicket-viewer/suppress-password-reset/login-page-default.png[width="300px",link="{_imagesdir}wicket-viewer/suppress-password-reset/login-page-default.png"]
-
-and with the link suppressed:
-
-image::{_imagesdir}wicket-viewer/suppress-password-reset/login-page-suppress-password-reset.png[width="300px",link="{_imagesdir}wicket-viewer/suppress-password-reset/login-page-suppress-password-reset.png"]
-
-=== Configuration
-
-To suppress the 'password reset' link, add the following configuration flag:
-
-[source,ini]
-----
-isis.viewer.wicket.suppressPasswordReset=true
-----
-
-Typically this should be added to the `viewer_wicket.properties` file (in `WEB-INF`), though you can add to `isis.properties` if you wish.
-
-=== See also
-
-The xref:_suppressing_sign-up[sign up link] can be suppressed in a similar manner.
-
-
-
-
-== Stripped Wicket tags
-
-By default the Isis Wicket viewer will always strip wicket tags. However, when running in prototype mode, this behaviour can be overridden using a configuration property:
-
-[source,ini]
-----
-isis.viewer.wicket.stripWicketTags=false
-----
-
-[NOTE]
-====
-In 1.7.0 and earlier, the behaviour is different; the Isis Wicket viewer will preserve wicket tags when running in Isis' prototype/development mode, but will still strip wicket tags in Isis' server/deployment mode.
-
-We changed the behaviour in 1.8.0 because we found that Internet Explorer can be sensitive to the presence of Wicket tags.
-====
-
-
-
-== Showing a theme chooser
-
-The Wicket viewer uses http://getbootstrap.com/[Bootstrap] styles and components (courtesy of the https://github.com/l0rdn1kk0n/wicket-bootstrap[Wicket Bootstrap] integration).
-
-Unless a xref:_specifying_a_default_theme[default theme has been specified], the viewer uses the default bootstrap theme. However,
-the viewer can also be configured to allow the end-user to switch theme to another theme, in particular one of those provided by http://bootswatch.com[bootswatch.com].
-
-This is done using the following configuration property (in `WEB-INF/viewer_wicket.properties`):
-
-[source,ini]
-----
-isis.viewer.wicket.themes.showChooser=true
-----
-
-.Example 1
-image::{_imagesdir}wicket-viewer/theme-chooser/example-1.png[width="720px",link="{_imagesdir}wicket-viewer/theme-chooser/example-1.png"]
-
-
-.Example 2:
-image::{_imagesdir}wicket-viewer/theme-chooser/example-2.png[width="720px",link="{_imagesdir}wicket-viewer/theme-chooser/example-2.png"]
-
-It is also possible to restrict the themes shown to some subset of those in bootswatch. This is done using a further
-property:
-
-[source,ini]
-----
-isis.viewer.wicket.themes.enabled=bootstrap-theme,Cosmo,Flatly,Darkly,Sandstone,United
-----
-
-where the value is the list of themes (from http://bootswatch.com[bootswatch.com]) to be made available.
-
-[TIP]
-====
-You can also develop and install a custom themes (eg to fit your company's look-n-feel/interface guidelines); see the xref:_custom_bootstrap_theme[Extending] chapter for further details.
-====
-
-
http://git-wip-us.apache.org/repos/asf/isis/blob/7db616ea/adocs/documentation/src/main/asciidoc/user-guide/_ug_wicket-viewer_customisation.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_wicket-viewer_customisation.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_wicket-viewer_customisation.adoc
index 1270432..9ad143e 100644
--- a/adocs/documentation/src/main/asciidoc/user-guide/_ug_wicket-viewer_customisation.adoc
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_wicket-viewer_customisation.adoc
@@ -5,455 +5,14 @@
:_imagesdir: images/
-== Brand logo
-By default the Wicket viewer will display the application name top-left in the header menu. This can be changed to
-display a png logo instead.
+include::_ug_wicket-viewer_customisation_brand-logo.adoc[leveloffset=+1]
+include::_ug_wicket-viewer_customisation_default-theme.adoc[leveloffset=+1]
+include::_ug_wicket-viewer_customisation_welcome-page.adoc[leveloffset=+1]
+include::_ug_wicket-viewer_customisation_about-page.adoc[leveloffset=+1]
+include::_ug_wicket-viewer_customisation_tweaking-css-classes.adoc[leveloffset=+1]
+include::_ug_wicket-viewer_customisation_tweaking-css-classes.adoc[leveloffset=+1]
+include::_ug_wicket-viewer_customisation_using-different-css-file.adoc[leveloffset=+1]
+include::_ug_wicket-viewer_customisation_custom-javascript.adoc[leveloffset=+1]
+include::_ug_wicket-viewer_customisation_auto-refresh.adoc[leveloffset=+1]
-=== Screenshots
-
-The screenshot below shows the Isis addons example https://github.com/isisaddons/isis-app-todoapp/[todoapp] (not ASF) with a 'brand logo' image in its header:
-
-image::{_imagesdir}wicket-viewer/brand-logo/brand-logo.png[width="750px",link="{_imagesdir}wicket-viewer/brand-logo/brand-logo.png"]
-
-A custom brand logo (typically larger) can also be specified for the signin page:
-
-image::{_imagesdir}wicket-viewer/brand-logo/brand-logo-signin.png[width="750px",link="{_imagesdir}wicket-viewer/brand-logo/brand-logo-signin.png"]
-
-=== Configuration
-
-In the application-specific subclass of `IsisWicketApplication`, bind:
-
-* a string with name "brandLogoHeader" to the URL of a header image. A size of 160x40 works well.
-* a string with name "brandLogoSignin" to the URL of a image for the sign-in page. A size of 400x100 works well.
-
-For example:
-
-[source,java]
-----
-@Override
-protected Module newIsisWicketModule() {
- final Module isisDefaults = super.newIsisWicketModule();
-
- final Module overrides = new AbstractModule() {
- @Override
- protected void configure() {
- ...
- bind(String.class).annotatedWith(Names.named("brandLogoHeader"))
- .toInstance("/images/todoapp-logo-header.png");
- bind(String.class).annotatedWith(Names.named("brandLogoSignin"))
- .toInstance("/images/todoapp-logo-signin.png");
- ...
- }
- };
-
- return Modules.override(isisDefaults).with(overrides);
-}
-----
-
-If the logo is hosted locally, add to the relevant directory (eg `src/main/webapp/images`). It is also valid for the
-URL to be absolute.
-
-You may also wish to tweak the `css/application.css`. For example, a logo with height 40px works well with the following:
-
-[source,css]
-----
-.navbar-brand img {
- margin-top: -5px;
- margin-left: 5px;
-}
-----
-
-
-
-
-== Specifying a default theme
-
-The Isis Wicket viewer uses http://getbootstrap.com/[Bootstrap] styles and components (courtesy of the https://github.com/l0rdn1kk0n/wicket-bootstrap[Wicket Bootstrap] integration).
-
-Unless specified otherwise, the viewer uses the default bootstrap theme. However, this can be changed by overriding `init()` in the application's subclass of `IsisWicketApplication`. For example, to set the http://bootswatch.com/flatly/[bootswatch.com flatly] theme
- as the default, use:
-
-[source,java]
-----
-@Override
-protected void init() {
- super.init();
- IBootstrapSettings settings = Bootstrap.getSettings();
- settings.setThemeProvider(new BootswatchThemeProvider(BootswatchTheme.Flatly));
-}
-----
-
-If you have developed a custom Bootstrap theme (as described xref:_custom_bootstrap_theme[here]) then this can also be specified using the https://github.com/l0rdn1kk0n/wicket-bootstrap/wiki/Themes[Wicket Bootstrap API].
-
-
-
-
-
-== Welcome page
-
-It's possible to customize the application name, welcome message and about message can also be customized. This is done by adjusting the Guice bindings (part of Isis' bootstrapping) in your custom subclass of `IsisWicketApplication`:
-
-[source,java]
-----
-public class MyAppApplication extends IsisWicketApplication {
- @Override
- protected Module newIsisWicketModule() {
- final Module isisDefaults = super.newIsisWicketModule();
- final Module myAppOverrides = new AbstractModule() {
- @Override
- protected void configure() {
- ...
- bind(String.class)
- .annotatedWith(Names.named("applicationName"))
- .toInstance("My Wonderful App");
- bind(String.class)
- .annotatedWith(Names.named("welcomeMessage"))
- .toInstance(readLines("welcome.html")); // <1>
- bind(String.class)
- .annotatedWith(Names.named("aboutMessage"))
- .toInstance("My Wonderful App v1.0");
- ...
- }
- };
-
- return Modules.override(isisDefaults).with(myAppOverrides);
- }
-}
-----
-<1> the `welcome.html` file is resolved relative to `src/main/webapp`.
-
-
-
-
-== About page
-
-Isis' Wicket viewer has an About page that, by default, will provide a dump of the JARs that make up the webapp. This page will also show the manifest attributes of the WAR archive itself, if there are any. One of these attributes may also be used as the application version number.
-
-
-=== Screenshot
-
-Here's what the About page looks like with this configuration added:
-
-image::{_imagesdir}wicket-viewer/about-page/about-page.png[width="800px",link="{_imagesdir}wicket-viewer/about-page/about-page.png"]
-
-[NOTE]
-====
-TODO: this screenshot need to be updated for the new look-n-feel introduced in 1.8.0
-====
-
-Note that the `Build-Time` attribute has been used as the version number. The Wicket viewer is hard-coded to search for specific attributes and use as the application version. In order, it searches for:
-
-* `Implementation-Version`
-* `Build-Time`
-
-If none of these are found, then no version is displayed.
-
-=== Configuration
-
-[TIP]
-====
-This configuration is included within the xref:__a_id_getting_started_a_simpleapp_archetype[SimpleApp archetype].
-====
-
-==== Adding attributes to the WAR's manifest
-
-Add the following to the webapp's `pom.xml` (under `<build>/<plugins>`):
-
-[source,xml]
-----
-<plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>build-helper-maven-plugin</artifactId>
- <version>1.5</version>
- <executions>
- <execution>
- <phase>validate</phase>
- <goals>
- <goal>maven-version</goal>
- </goals>
- </execution>
- </executions>
-</plugin>
-
-<plugin>
- <artifactId>maven-war-plugin</artifactId>
- <configuration>
- <archive>
- <manifest>
- <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
- </manifest>
- <manifestEntries>
- <Build-Time>${maven.build.timestamp}</Build-Time>
- <Build-Number>${buildNumber}</Build-Number>
- <Build-Host>${agent.name}</Build-Host>
- <Build-User>${user.name}</Build-User>
- <Build-Maven>Maven ${maven.version}</Build-Maven>
- <Build-Java>${java.version}</Build-Java>
- <Build-OS>${os.name}</Build-OS>
- <Build-Label>${project.version}</Build-Label>
- </manifestEntries>
- </archive>
- </configuration>
- <executions>
- <execution>
- <phase>package</phase>
- <goals>
- <goal>war</goal>
- </goals>
- <configuration>
- <classifier>${env}</classifier>
- </configuration>
- </execution>
- </executions>
-</plugin>
-----
-
-If you then build the webapp from the Maven command line (`mvn clean package`), then the WAR should contain a `META-INF/MANIFEST.MF` with those various attribute entries.
-
-==== Exporting the attributes into the app
-
-The manifest attributes are provided to the rest of the application by way of the Wicket viewer's integration with Google Guice.
-
-In your subclass of `IsisWicketApplication`, there is a method `newIsisWicketModule()`. In this method you need to bind an `InputStream` that will read the manifest attributes. This is all boilerplate so you can just copy-n-paste:
-
-[source,java]
-----
-@Override
-protected Module newIsisWicketModule() {
- ...
- final Module simpleappOverrides = new AbstractModule() {
- @Override
- protected void configure() {
- ...
- bind(InputStream.class)
- .annotatedWith(Names.named("metaInfManifest"))
- .toProvider(Providers.of(
- getServletContext().getResourceAsStream("/META-INF/MANIFEST.MF")));
- }
- };
- ...
-}
-----
-
-With that you should be good to go!
-
-
-
-
-== Tweaking CSS classes
-
-The HTML generated by the Wicket viewer include plenty of CSS classes so that you can easily target the required elements as required. For example, you could use CSS to suppress the entity's icon alongside its title. This would be done using:
-
-[source,css]
-----
-.entityIconAndTitlePanel a img {
- display: none;
-}
-----
-
-These customizations should generally be added to `src/main/webapp/css/application.css`; this file is included by default in every webpage served up by the Wicket viewer.
-
-=== Targeting individual members
-
-For example, the `ToDoItem` object of the Isis addons example https://github.com/isisaddons/isis-app-todoapp/[todoapp] (not ASF) has a `notes` property. The HTML for this will be something like:
-
-[source,html]
-----
-<div>
- <div class="property ToDoItem-notes">
- <div class="multiLineStringPanel scalarNameAndValueComponentType">
- <label for="id83" title="">
- <span class="scalarName">Notes</span>
- <span class="scalarValue">
- <textarea
- name="middleColumn:memberGroup:1:properties:4:property:scalarIfRegular:scalarValue"
- disabled="disabled"
- id="id83" rows="5" maxlength="400" size="125"
- title="">
- </textarea>
- <span>
- </span>
- </span>
- </label>
- </div>
- </div>
-</div>
-----
-
-The `src/main/webapp/css/application.css` file is the place to add application-specific styles. By way of an example, if (for some reason) we wanted to completely hide the notes value, we could do so using:
-
-[source,css]
-----
-div.ToDoItem-notes span.scalarValue {
- display: none;
-}
-----
-
-You can use a similar approach for collections and actions.
-
-=== Targeting members through a custom CSS style
-
-The above technique works well if you know the class member to target, but you might instead want to apply a custom style to a set of members. For this, you can use the `@CssClass`.
-
-For example, in the `ToDoItem` class the following annotation (indicating that this is a key, important, property) :
-
-[source,java]
-----
-@PropertyLayout(cssClass="x-myapp-highlight")
-public LocalDate getDueBy() {
- return dueBy;
-}
-----
-
-would generate the HTML:
-
-[source,html]
-----
-<div>
- <div class="property ToDoItem-dueBy x-myapp-highlight">
- ...
- </div>
-</div>
-----
-
-This can then be targeted, for example using:
-
-[source,css]
-----
-div.x-myapp-highlight span.scalarName {
- color: red;
-}
-----
-
-Note also that instead of using `@PropertyLayout(cssClass=...)` annotation, you can also specify the CSS style using a xref:_dynamic_layouts[dynamic layout] JSON file:
-
-[source,javascript]
-----
-"dueBy": {
- "propertyLayout": {
- "cssClass": "x-myapp-important"
- }
-},
-----
-
-
-
-== Cheap-n-cheerful "theme"
-
-The application name (as defined in the `IsisWicketApplication` subclass) is also used (in sanitized form) as the CSS class in a `<div>` that wraps all the rendered content of every page.
-
-For example, if the application name is "ToDo App", then the `<div>` generated is:
-
-[source,html]
-----
-<div class="todo-app">
- ...
-</div>
-----
-
-You can therefore use this CSS class as a way of building your own "theme" for the various elements of the wicket viewer pages.
-
-[TIP]
-====
-Alternatively you could "do it properly" and create your xref:_custom_bootstrap_theme[own Bootstrap theme], as described in the <<Extending>> chapter.
-====
-
-
-
-== Using a different CSS file
-
-If for some reason you wanted to name the CSS file differently (eg `stylesheets/myapp.css`), then adjust the Guice bindings (part of Isis' bootstrapping) in your custom subclass of `IsisWicketApplication`:
-
-[source,java]
-----
-public class MyAppApplication extends IsisWicketApplication {
- @Override
- protected Module newIsisWicketModule() {
- final Module isisDefaults = super.newIsisWicketModule();
- final Module myAppOverrides = new AbstractModule() {
- @Override
- protected void configure() {
- ...
- bind(String.class)
- .annotatedWith(Names.named("applicationCss"))
- .toInstance("stylesheets/myapp.css");
- ...
- }
- };
-
- return Modules.override(isisDefaults).with(myAppOverrides);
- }
-}
-----
-
-As indicated above, this file is resolved relative to `src/main/webapp`.
-
-
-
-== Custom Javascript
-
-The Wicket viewer ships with embedded JQuery, so this can be leveraged to perform arbitrary transformations of the rendered page (eg to run some arbitrary JQuery on page load).
-
-[WARNING]
-====
-Just because something is possible, it doesn't necessarily mean we encourage it. Please be aware that there is no formal API for any custom javascript that you might implement to target; future versions of Isis might break your code.
-
-If possible, consider using the `ComponentFactory` API described in the xref:_extending_the_wicket_viewer[Extending] chapter.
-====
-
-To register your Javascript code, adjusting the Guice bindings (part of Isis' bootstrapping) in your custom subclass of `IsisWicketApplication`:
-
- public class MyAppApplication extends IsisWicketApplication {
- @Override
- protected Module newIsisWicketModule() {
- final Module isisDefaults = super.newIsisWicketModule();
- final Module myAppOverrides = new AbstractModule() {
- @Override
- protected void configure() {
- ...
- bind(String.class)
- .annotatedWith(Names.named("applicationJs"))
- .toInstance("scripts/application.js");
- ...
- }
- };
- return Modules.override(isisDefaults).with(myAppOverrides);
- }
- }
-
-Currently only one such `.js` file can be registered.
-
-
-
-
-== Auto-refresh page
-
-This requirement from the users mailing list:
-
-pass:[<div class="extended-quote-first"><p>]Suppose you want to build a monitoring application, eg for an electricity grid. Data is updated in the background (eg via the Restful Objects REST API). What is needed is the ability to show an entity that includes a http://github.com/isisaddons/isis-wicket-gmap3[map], and have it auto-refresh every 5 seconds or so.
-pass:[</p></div>]
-
-Here's one (somewhat crude, but workable) way to accomplish this.
-
-* First, update the domain object to return custom CSS: +
-+
-[source,java]
-----
-public class MyDomainObject {
- ...
- public String cssClass() {return "my-special-auto-updating-entity"; }
- ...
-}
-----
-
-* Then, use javascript in `webapp/src/main/webapp/scripts/application.js` to reload: +
-+
-[source,javascript]
-----
-$(function() {
- if ($(".my-special-auto-updating-entity").length) {
- setTimeout(function() {document.location.reload();}, 5000); // 1000 is 5 sec
- }
-});
-----
http://git-wip-us.apache.org/repos/asf/isis/blob/7db616ea/adocs/documentation/src/main/asciidoc/user-guide/_ug_wicket-viewer_customisation_about-page.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_wicket-viewer_customisation_about-page.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_wicket-viewer_customisation_about-page.adoc
new file mode 100644
index 0000000..053a442
--- /dev/null
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_wicket-viewer_customisation_about-page.adoc
@@ -0,0 +1,121 @@
+[[_ug_wicket-viewer_customisation_about-page]]
+= About page
+: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/
+
+
+
+Isis' Wicket viewer has an About page that, by default, will provide a dump of the JARs that make up the webapp. This page will also show the manifest attributes of the WAR archive itself, if there are any. One of these attributes may also be used as the application version number.
+
+
+== Screenshot
+
+Here's what the About page looks like with this configuration added:
+
+image::{_imagesdir}wicket-viewer/about-page/about-page.png[width="800px",link="{_imagesdir}wicket-viewer/about-page/about-page.png"]
+
+[NOTE]
+====
+TODO: this screenshot need to be updated for the new look-n-feel introduced in 1.8.0
+====
+
+Note that the `Build-Time` attribute has been used as the version number. The Wicket viewer is hard-coded to search for specific attributes and use as the application version. In order, it searches for:
+
+* `Implementation-Version`
+* `Build-Time`
+
+If none of these are found, then no version is displayed.
+
+== Configuration
+
+[TIP]
+====
+This configuration is included within the xref:_ug_getting-started_simpleapp-archetype[SimpleApp archetype].
+====
+
+=== Adding attributes to the WAR's manifest
+
+Add the following to the webapp's `pom.xml` (under `<build>/<plugins>`):
+
+[source,xml]
+----
+<plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>build-helper-maven-plugin</artifactId>
+ <version>1.5</version>
+ <executions>
+ <execution>
+ <phase>validate</phase>
+ <goals>
+ <goal>maven-version</goal>
+ </goals>
+ </execution>
+ </executions>
+</plugin>
+
+<plugin>
+ <artifactId>maven-war-plugin</artifactId>
+ <configuration>
+ <archive>
+ <manifest>
+ <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
+ </manifest>
+ <manifestEntries>
+ <Build-Time>${maven.build.timestamp}</Build-Time>
+ <Build-Number>${buildNumber}</Build-Number>
+ <Build-Host>${agent.name}</Build-Host>
+ <Build-User>${user.name}</Build-User>
+ <Build-Maven>Maven ${maven.version}</Build-Maven>
+ <Build-Java>${java.version}</Build-Java>
+ <Build-OS>${os.name}</Build-OS>
+ <Build-Label>${project.version}</Build-Label>
+ </manifestEntries>
+ </archive>
+ </configuration>
+ <executions>
+ <execution>
+ <phase>package</phase>
+ <goals>
+ <goal>war</goal>
+ </goals>
+ <configuration>
+ <classifier>${env}</classifier>
+ </configuration>
+ </execution>
+ </executions>
+</plugin>
+----
+
+If you then build the webapp from the Maven command line (`mvn clean package`), then the WAR should contain a `META-INF/MANIFEST.MF` with those various attribute entries.
+
+=== Exporting the attributes into the app
+
+The manifest attributes are provided to the rest of the application by way of the Wicket viewer's integration with Google Guice.
+
+In your subclass of `IsisWicketApplication`, there is a method `newIsisWicketModule()`. In this method you need to bind an `InputStream` that will read the manifest attributes. This is all boilerplate so you can just copy-n-paste:
+
+[source,java]
+----
+@Override
+protected Module newIsisWicketModule() {
+ ...
+ final Module simpleappOverrides = new AbstractModule() {
+ @Override
+ protected void configure() {
+ ...
+ bind(InputStream.class)
+ .annotatedWith(Names.named("metaInfManifest"))
+ .toProvider(Providers.of(
+ getServletContext().getResourceAsStream("/META-INF/MANIFEST.MF")));
+ }
+ };
+ ...
+}
+----
+
+With that you should be good to go!
+
+
+
+
http://git-wip-us.apache.org/repos/asf/isis/blob/7db616ea/adocs/documentation/src/main/asciidoc/user-guide/_ug_wicket-viewer_customisation_auto-refresh.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_wicket-viewer_customisation_auto-refresh.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_wicket-viewer_customisation_auto-refresh.adoc
new file mode 100644
index 0000000..2c8f645
--- /dev/null
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_wicket-viewer_customisation_auto-refresh.adoc
@@ -0,0 +1,35 @@
+[[_ug_wicket-viewer_customisation_auto-refresh]]
+= Auto-refresh page
+: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/
+
+
+This requirement from the users mailing list:
+
+pass:[<div class="extended-quote-first"><p>]Suppose you want to build a monitoring application, eg for an electricity grid. Data is updated in the background (eg via the Restful Objects REST API). What is needed is the ability to show an entity that includes a http://github.com/isisaddons/isis-wicket-gmap3[map], and have it auto-refresh every 5 seconds or so.
+pass:[</p></div>]
+
+Here's one (somewhat crude, but workable) way to accomplish this.
+
+* First, update the domain object to return custom CSS: +
++
+[source,java]
+----
+public class MyDomainObject {
+ ...
+ public String cssClass() {return "my-special-auto-updating-entity"; }
+ ...
+}
+----
+
+* Then, use javascript in `webapp/src/main/webapp/scripts/application.js` to reload: +
++
+[source,javascript]
+----
+$(function() {
+ if ($(".my-special-auto-updating-entity").length) {
+ setTimeout(function() {document.location.reload();}, 5000); // 1000 is 5 sec
+ }
+});
+----
http://git-wip-us.apache.org/repos/asf/isis/blob/7db616ea/adocs/documentation/src/main/asciidoc/user-guide/_ug_wicket-viewer_customisation_brand-logo.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_wicket-viewer_customisation_brand-logo.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_wicket-viewer_customisation_brand-logo.adoc
new file mode 100644
index 0000000..85f8c86
--- /dev/null
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_wicket-viewer_customisation_brand-logo.adoc
@@ -0,0 +1,71 @@
+[[_ug_wicket-viewer_customisation_brand-logo]]
+= Brand logo
+: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/
+
+
+
+By default the Wicket viewer will display the application name top-left in the header menu. This can be changed to
+display a png logo instead.
+
+== Screenshots
+
+The screenshot below shows the Isis addons example https://github.com/isisaddons/isis-app-todoapp/[todoapp] (not ASF) with a 'brand logo' image in its header:
+
+image::{_imagesdir}wicket-viewer/brand-logo/brand-logo.png[width="750px",link="{_imagesdir}wicket-viewer/brand-logo/brand-logo.png"]
+
+A custom brand logo (typically larger) can also be specified for the signin page:
+
+image::{_imagesdir}wicket-viewer/brand-logo/brand-logo-signin.png[width="750px",link="{_imagesdir}wicket-viewer/brand-logo/brand-logo-signin.png"]
+
+
+
+
+== Configuration
+
+In the application-specific subclass of `IsisWicketApplication`, bind:
+
+* a string with name "brandLogoHeader" to the URL of a header image. A size of 160x40 works well.
+* a string with name "brandLogoSignin" to the URL of a image for the sign-in page. A size of 400x100 works well.
+
+For example:
+
+[source,java]
+----
+@Override
+protected Module newIsisWicketModule() {
+ final Module isisDefaults = super.newIsisWicketModule();
+
+ final Module overrides = new AbstractModule() {
+ @Override
+ protected void configure() {
+ ...
+ bind(String.class).annotatedWith(Names.named("brandLogoHeader"))
+ .toInstance("/images/todoapp-logo-header.png");
+ bind(String.class).annotatedWith(Names.named("brandLogoSignin"))
+ .toInstance("/images/todoapp-logo-signin.png");
+ ...
+ }
+ };
+
+ return Modules.override(isisDefaults).with(overrides);
+}
+----
+
+If the logo is hosted locally, add to the relevant directory (eg `src/main/webapp/images`). It is also valid for the
+URL to be absolute.
+
+You may also wish to tweak the `css/application.css`. For example, a logo with height 40px works well with the following:
+
+[source,css]
+----
+.navbar-brand img {
+ margin-top: -5px;
+ margin-left: 5px;
+}
+----
+
+
+
+
http://git-wip-us.apache.org/repos/asf/isis/blob/7db616ea/adocs/documentation/src/main/asciidoc/user-guide/_ug_wicket-viewer_customisation_cheap-n-cheerful-theme.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_wicket-viewer_customisation_cheap-n-cheerful-theme.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_wicket-viewer_customisation_cheap-n-cheerful-theme.adoc
new file mode 100644
index 0000000..1af6606
--- /dev/null
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_wicket-viewer_customisation_cheap-n-cheerful-theme.adoc
@@ -0,0 +1,29 @@
+[[_ug_wicket-viewer_customisation_cheap-n-cheerful-theme]]
+= Cheap-n-cheerful "theme"
+: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 application name (as defined in the `IsisWicketApplication` subclass) is also used (in sanitized form) as the CSS class in a `<div>` that wraps all the rendered content of every page.
+
+For example, if the application name is "ToDo App", then the `<div>` generated is:
+
+[source,html]
+----
+<div class="todo-app">
+ ...
+</div>
+----
+
+You can therefore use this CSS class as a way of building your own "theme" for the various elements of the wicket viewer pages.
+
+[TIP]
+====
+Alternatively you could "do it properly" and create your xref:_custom_bootstrap_theme[own Bootstrap theme], as described in the <<Extending>> chapter.
+====
+
+
+
http://git-wip-us.apache.org/repos/asf/isis/blob/7db616ea/adocs/documentation/src/main/asciidoc/user-guide/_ug_wicket-viewer_customisation_custom-javascript.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_wicket-viewer_customisation_custom-javascript.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_wicket-viewer_customisation_custom-javascript.adoc
new file mode 100644
index 0000000..cb1817a
--- /dev/null
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_wicket-viewer_customisation_custom-javascript.adoc
@@ -0,0 +1,42 @@
+[[_ug_wicket-viewer_customisation_custom-javascript]]
+= Custom Javascript
+: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 Wicket viewer ships with embedded JQuery, so this can be leveraged to perform arbitrary transformations of the rendered page (eg to run some arbitrary JQuery on page load).
+
+[WARNING]
+====
+Just because something is possible, it doesn't necessarily mean we encourage it. Please be aware that there is no formal API for any custom javascript that you might implement to target; future versions of Isis might break your code.
+
+If possible, consider using the `ComponentFactory` API described in the xref:_extending_the_wicket_viewer[Extending] chapter.
+====
+
+To register your Javascript code, adjusting the Guice bindings (part of Isis' bootstrapping) in your custom subclass of `IsisWicketApplication`:
+
+ public class MyAppApplication extends IsisWicketApplication {
+ @Override
+ protected Module newIsisWicketModule() {
+ final Module isisDefaults = super.newIsisWicketModule();
+ final Module myAppOverrides = new AbstractModule() {
+ @Override
+ protected void configure() {
+ ...
+ bind(String.class)
+ .annotatedWith(Names.named("applicationJs"))
+ .toInstance("scripts/application.js");
+ ...
+ }
+ };
+ return Modules.override(isisDefaults).with(myAppOverrides);
+ }
+ }
+
+Currently only one such `.js` file can be registered.
+
+
+
+
http://git-wip-us.apache.org/repos/asf/isis/blob/7db616ea/adocs/documentation/src/main/asciidoc/user-guide/_ug_wicket-viewer_customisation_default-theme.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/user-guide/_ug_wicket-viewer_customisation_default-theme.adoc b/adocs/documentation/src/main/asciidoc/user-guide/_ug_wicket-viewer_customisation_default-theme.adoc
new file mode 100644
index 0000000..aafce28
--- /dev/null
+++ b/adocs/documentation/src/main/asciidoc/user-guide/_ug_wicket-viewer_customisation_default-theme.adoc
@@ -0,0 +1,29 @@
+[[_ug_wicket-viewer_customisation_default-theme]]
+= Specifying a default theme
+: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 Isis Wicket viewer uses http://getbootstrap.com/[Bootstrap] styles and components (courtesy of the https://github.com/l0rdn1kk0n/wicket-bootstrap[Wicket Bootstrap] integration).
+
+Unless specified otherwise, the viewer uses the default bootstrap theme. However, this can be changed by overriding `init()` in the application's subclass of `IsisWicketApplication`. For example, to set the http://bootswatch.com/flatly/[bootswatch.com flatly] theme
+ as the default, use:
+
+[source,java]
+----
+@Override
+protected void init() {
+ super.init();
+ IBootstrapSettings settings = Bootstrap.getSettings();
+ settings.setThemeProvider(new BootswatchThemeProvider(BootswatchTheme.Flatly));
+}
+----
+
+If you have developed a custom Bootstrap theme (as described xref:_custom_bootstrap_theme[here]) then this can also be specified using the https://github.com/l0rdn1kk0n/wicket-bootstrap/wiki/Themes[Wicket Bootstrap API].
+
+
+
+
+