You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by da...@apache.org on 2016/11/23 22:44:41 UTC

[08/22] wicket git commit: Moved wicket-7.x docs to asciidoctor

http://git-wip-us.apache.org/repos/asf/wicket/blob/7eba9998/wicket-user-guide/src/main/asciidoc/img/list-multiple-choices.png
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/main/asciidoc/img/list-multiple-choices.png b/wicket-user-guide/src/main/asciidoc/img/list-multiple-choices.png
new file mode 100644
index 0000000..cbc055c
Binary files /dev/null and b/wicket-user-guide/src/main/asciidoc/img/list-multiple-choices.png differ

http://git-wip-us.apache.org/repos/asf/wicket/blob/7eba9998/wicket-user-guide/src/main/asciidoc/img/list-multiple-choices2.png
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/main/asciidoc/img/list-multiple-choices2.png b/wicket-user-guide/src/main/asciidoc/img/list-multiple-choices2.png
new file mode 100644
index 0000000..9ba29b3
Binary files /dev/null and b/wicket-user-guide/src/main/asciidoc/img/list-multiple-choices2.png differ

http://git-wip-us.apache.org/repos/asf/wicket/blob/7eba9998/wicket-user-guide/src/main/asciidoc/img/loadable-detachable-model.png
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/main/asciidoc/img/loadable-detachable-model.png b/wicket-user-guide/src/main/asciidoc/img/loadable-detachable-model.png
new file mode 100644
index 0000000..b5955ab
Binary files /dev/null and b/wicket-user-guide/src/main/asciidoc/img/loadable-detachable-model.png differ

http://git-wip-us.apache.org/repos/asf/wicket/blob/7eba9998/wicket-user-guide/src/main/asciidoc/img/locale-german.png
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/main/asciidoc/img/locale-german.png b/wicket-user-guide/src/main/asciidoc/img/locale-german.png
new file mode 100644
index 0000000..9643908
Binary files /dev/null and b/wicket-user-guide/src/main/asciidoc/img/locale-german.png differ

http://git-wip-us.apache.org/repos/asf/wicket/blob/7eba9998/wicket-user-guide/src/main/asciidoc/img/login_calls_hollywood.png
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/main/asciidoc/img/login_calls_hollywood.png b/wicket-user-guide/src/main/asciidoc/img/login_calls_hollywood.png
new file mode 100644
index 0000000..5933211
Binary files /dev/null and b/wicket-user-guide/src/main/asciidoc/img/login_calls_hollywood.png differ

http://git-wip-us.apache.org/repos/asf/wicket/blob/7eba9998/wicket-user-guide/src/main/asciidoc/img/lost-in-redirection-mockup.png
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/main/asciidoc/img/lost-in-redirection-mockup.png b/wicket-user-guide/src/main/asciidoc/img/lost-in-redirection-mockup.png
new file mode 100644
index 0000000..8f064b3
Binary files /dev/null and b/wicket-user-guide/src/main/asciidoc/img/lost-in-redirection-mockup.png differ

http://git-wip-us.apache.org/repos/asf/wicket/blob/7eba9998/wicket-user-guide/src/main/asciidoc/img/lost-in-redirection-mockup2.png
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/main/asciidoc/img/lost-in-redirection-mockup2.png b/wicket-user-guide/src/main/asciidoc/img/lost-in-redirection-mockup2.png
new file mode 100644
index 0000000..732008e
Binary files /dev/null and b/wicket-user-guide/src/main/asciidoc/img/lost-in-redirection-mockup2.png differ

http://git-wip-us.apache.org/repos/asf/wicket/blob/7eba9998/wicket-user-guide/src/main/asciidoc/img/lost-in-redirection-mockup3.png
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/main/asciidoc/img/lost-in-redirection-mockup3.png b/wicket-user-guide/src/main/asciidoc/img/lost-in-redirection-mockup3.png
new file mode 100644
index 0000000..b6811a9
Binary files /dev/null and b/wicket-user-guide/src/main/asciidoc/img/lost-in-redirection-mockup3.png differ

http://git-wip-us.apache.org/repos/asf/wicket/blob/7eba9998/wicket-user-guide/src/main/asciidoc/img/lost-in-redirection-mockup4.png
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/main/asciidoc/img/lost-in-redirection-mockup4.png b/wicket-user-guide/src/main/asciidoc/img/lost-in-redirection-mockup4.png
new file mode 100644
index 0000000..784fc9a
Binary files /dev/null and b/wicket-user-guide/src/main/asciidoc/img/lost-in-redirection-mockup4.png differ

http://git-wip-us.apache.org/repos/asf/wicket/blob/7eba9998/wicket-user-guide/src/main/asciidoc/img/markup-inheritance.png
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/main/asciidoc/img/markup-inheritance.png b/wicket-user-guide/src/main/asciidoc/img/markup-inheritance.png
new file mode 100644
index 0000000..f45414f
Binary files /dev/null and b/wicket-user-guide/src/main/asciidoc/img/markup-inheritance.png differ

http://git-wip-us.apache.org/repos/asf/wicket/blob/7eba9998/wicket-user-guide/src/main/asciidoc/img/modal-window-example-screenshot.png
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/main/asciidoc/img/modal-window-example-screenshot.png b/wicket-user-guide/src/main/asciidoc/img/modal-window-example-screenshot.png
new file mode 100644
index 0000000..62921bc
Binary files /dev/null and b/wicket-user-guide/src/main/asciidoc/img/modal-window-example-screenshot.png differ

http://git-wip-us.apache.org/repos/asf/wicket/blob/7eba9998/wicket-user-guide/src/main/asciidoc/img/model-chaining.png
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/main/asciidoc/img/model-chaining.png b/wicket-user-guide/src/main/asciidoc/img/model-chaining.png
new file mode 100644
index 0000000..c13a824
Binary files /dev/null and b/wicket-user-guide/src/main/asciidoc/img/model-chaining.png differ

http://git-wip-us.apache.org/repos/asf/wicket/blob/7eba9998/wicket-user-guide/src/main/asciidoc/img/multi-select-transfer-component-wicket.png
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/main/asciidoc/img/multi-select-transfer-component-wicket.png b/wicket-user-guide/src/main/asciidoc/img/multi-select-transfer-component-wicket.png
new file mode 100644
index 0000000..d46d89e
Binary files /dev/null and b/wicket-user-guide/src/main/asciidoc/img/multi-select-transfer-component-wicket.png differ

http://git-wip-us.apache.org/repos/asf/wicket/blob/7eba9998/wicket-user-guide/src/main/asciidoc/img/multi-select-transfer-component.png
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/main/asciidoc/img/multi-select-transfer-component.png b/wicket-user-guide/src/main/asciidoc/img/multi-select-transfer-component.png
new file mode 100644
index 0000000..727b61d
Binary files /dev/null and b/wicket-user-guide/src/main/asciidoc/img/multi-select-transfer-component.png differ

http://git-wip-us.apache.org/repos/asf/wicket/blob/7eba9998/wicket-user-guide/src/main/asciidoc/img/mvn-wicket-archetype.png
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/main/asciidoc/img/mvn-wicket-archetype.png b/wicket-user-guide/src/main/asciidoc/img/mvn-wicket-archetype.png
new file mode 100644
index 0000000..cf6b3e4
Binary files /dev/null and b/wicket-user-guide/src/main/asciidoc/img/mvn-wicket-archetype.png differ

http://git-wip-us.apache.org/repos/asf/wicket/blob/7eba9998/wicket-user-guide/src/main/asciidoc/img/mywebapp-class-diagramm.jpg
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/main/asciidoc/img/mywebapp-class-diagramm.jpg b/wicket-user-guide/src/main/asciidoc/img/mywebapp-class-diagramm.jpg
new file mode 100644
index 0000000..e0663c2
Binary files /dev/null and b/wicket-user-guide/src/main/asciidoc/img/mywebapp-class-diagramm.jpg differ

http://git-wip-us.apache.org/repos/asf/wicket/blob/7eba9998/wicket-user-guide/src/main/asciidoc/img/netbeans-maven-import.png
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/main/asciidoc/img/netbeans-maven-import.png b/wicket-user-guide/src/main/asciidoc/img/netbeans-maven-import.png
new file mode 100644
index 0000000..fae399d
Binary files /dev/null and b/wicket-user-guide/src/main/asciidoc/img/netbeans-maven-import.png differ

http://git-wip-us.apache.org/repos/asf/wicket/blob/7eba9998/wicket-user-guide/src/main/asciidoc/img/note.gif
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/main/asciidoc/img/note.gif b/wicket-user-guide/src/main/asciidoc/img/note.gif
new file mode 100644
index 0000000..1c9883b
Binary files /dev/null and b/wicket-user-guide/src/main/asciidoc/img/note.gif differ

http://git-wip-us.apache.org/repos/asf/wicket/blob/7eba9998/wicket-user-guide/src/main/asciidoc/img/package-bundles.png
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/main/asciidoc/img/package-bundles.png b/wicket-user-guide/src/main/asciidoc/img/package-bundles.png
new file mode 100644
index 0000000..f820ece
Binary files /dev/null and b/wicket-user-guide/src/main/asciidoc/img/package-bundles.png differ

http://git-wip-us.apache.org/repos/asf/wicket/blob/7eba9998/wicket-user-guide/src/main/asciidoc/img/package-resource-localization.png
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/main/asciidoc/img/package-resource-localization.png b/wicket-user-guide/src/main/asciidoc/img/package-resource-localization.png
new file mode 100644
index 0000000..07b58dd
Binary files /dev/null and b/wicket-user-guide/src/main/asciidoc/img/package-resource-localization.png differ

http://git-wip-us.apache.org/repos/asf/wicket/blob/7eba9998/wicket-user-guide/src/main/asciidoc/img/package-resources.png
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/main/asciidoc/img/package-resources.png b/wicket-user-guide/src/main/asciidoc/img/package-resources.png
new file mode 100644
index 0000000..8fe2940
Binary files /dev/null and b/wicket-user-guide/src/main/asciidoc/img/package-resources.png differ

http://git-wip-us.apache.org/repos/asf/wicket/blob/7eba9998/wicket-user-guide/src/main/asciidoc/img/package-structure-custom-folder.png
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/main/asciidoc/img/package-structure-custom-folder.png b/wicket-user-guide/src/main/asciidoc/img/package-structure-custom-folder.png
new file mode 100644
index 0000000..1437ffd
Binary files /dev/null and b/wicket-user-guide/src/main/asciidoc/img/package-structure-custom-folder.png differ

http://git-wip-us.apache.org/repos/asf/wicket/blob/7eba9998/wicket-user-guide/src/main/asciidoc/img/package-structure-resource-folder.png
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/main/asciidoc/img/package-structure-resource-folder.png b/wicket-user-guide/src/main/asciidoc/img/package-structure-resource-folder.png
new file mode 100644
index 0000000..aa5d5ee
Binary files /dev/null and b/wicket-user-guide/src/main/asciidoc/img/package-structure-resource-folder.png differ

http://git-wip-us.apache.org/repos/asf/wicket/blob/7eba9998/wicket-user-guide/src/main/asciidoc/img/page-and-panel-bundle.png
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/main/asciidoc/img/page-and-panel-bundle.png b/wicket-user-guide/src/main/asciidoc/img/page-and-panel-bundle.png
new file mode 100644
index 0000000..5c8e7c8
Binary files /dev/null and b/wicket-user-guide/src/main/asciidoc/img/page-and-panel-bundle.png differ

http://git-wip-us.apache.org/repos/asf/wicket/blob/7eba9998/wicket-user-guide/src/main/asciidoc/img/page-expired.png
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/main/asciidoc/img/page-expired.png b/wicket-user-guide/src/main/asciidoc/img/page-expired.png
new file mode 100644
index 0000000..a537530
Binary files /dev/null and b/wicket-user-guide/src/main/asciidoc/img/page-expired.png differ

http://git-wip-us.apache.org/repos/asf/wicket/blob/7eba9998/wicket-user-guide/src/main/asciidoc/img/page-id.png
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/main/asciidoc/img/page-id.png b/wicket-user-guide/src/main/asciidoc/img/page-id.png
new file mode 100644
index 0000000..8fdc283
Binary files /dev/null and b/wicket-user-guide/src/main/asciidoc/img/page-id.png differ

http://git-wip-us.apache.org/repos/asf/wicket/blob/7eba9998/wicket-user-guide/src/main/asciidoc/img/page-panel-hierarchy.png
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/main/asciidoc/img/page-panel-hierarchy.png b/wicket-user-guide/src/main/asciidoc/img/page-panel-hierarchy.png
new file mode 100644
index 0000000..999000a
Binary files /dev/null and b/wicket-user-guide/src/main/asciidoc/img/page-panel-hierarchy.png differ

http://git-wip-us.apache.org/repos/asf/wicket/blob/7eba9998/wicket-user-guide/src/main/asciidoc/img/page-storage.png
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/main/asciidoc/img/page-storage.png b/wicket-user-guide/src/main/asciidoc/img/page-storage.png
new file mode 100644
index 0000000..9c48d08
Binary files /dev/null and b/wicket-user-guide/src/main/asciidoc/img/page-storage.png differ

http://git-wip-us.apache.org/repos/asf/wicket/blob/7eba9998/wicket-user-guide/src/main/asciidoc/img/paging-navigator.png
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/main/asciidoc/img/paging-navigator.png b/wicket-user-guide/src/main/asciidoc/img/paging-navigator.png
new file mode 100644
index 0000000..58e54b5
Binary files /dev/null and b/wicket-user-guide/src/main/asciidoc/img/paging-navigator.png differ

http://git-wip-us.apache.org/repos/asf/wicket/blob/7eba9998/wicket-user-guide/src/main/asciidoc/img/quickstart-webpage.png
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/main/asciidoc/img/quickstart-webpage.png b/wicket-user-guide/src/main/asciidoc/img/quickstart-webpage.png
new file mode 100644
index 0000000..3b14920
Binary files /dev/null and b/wicket-user-guide/src/main/asciidoc/img/quickstart-webpage.png differ

http://git-wip-us.apache.org/repos/asf/wicket/blob/7eba9998/wicket-user-guide/src/main/asciidoc/img/regex-form.png
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/main/asciidoc/img/regex-form.png b/wicket-user-guide/src/main/asciidoc/img/regex-form.png
new file mode 100644
index 0000000..2dd4da7
Binary files /dev/null and b/wicket-user-guide/src/main/asciidoc/img/regex-form.png differ

http://git-wip-us.apache.org/repos/asf/wicket/blob/7eba9998/wicket-user-guide/src/main/asciidoc/img/reload-page.png
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/main/asciidoc/img/reload-page.png b/wicket-user-guide/src/main/asciidoc/img/reload-page.png
new file mode 100644
index 0000000..9ff23f0
Binary files /dev/null and b/wicket-user-guide/src/main/asciidoc/img/reload-page.png differ

http://git-wip-us.apache.org/repos/asf/wicket/blob/7eba9998/wicket-user-guide/src/main/asciidoc/img/request-cycle-handler.png
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/main/asciidoc/img/request-cycle-handler.png b/wicket-user-guide/src/main/asciidoc/img/request-cycle-handler.png
new file mode 100644
index 0000000..d2e0f3f
Binary files /dev/null and b/wicket-user-guide/src/main/asciidoc/img/request-cycle-handler.png differ

http://git-wip-us.apache.org/repos/asf/wicket/blob/7eba9998/wicket-user-guide/src/main/asciidoc/img/requesthandling-general.png
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/main/asciidoc/img/requesthandling-general.png b/wicket-user-guide/src/main/asciidoc/img/requesthandling-general.png
new file mode 100644
index 0000000..56d9379
Binary files /dev/null and b/wicket-user-guide/src/main/asciidoc/img/requesthandling-general.png differ

http://git-wip-us.apache.org/repos/asf/wicket/blob/7eba9998/wicket-user-guide/src/main/asciidoc/img/samepackage.png
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/main/asciidoc/img/samepackage.png b/wicket-user-guide/src/main/asciidoc/img/samepackage.png
new file mode 100644
index 0000000..8505f18
Binary files /dev/null and b/wicket-user-guide/src/main/asciidoc/img/samepackage.png differ

http://git-wip-us.apache.org/repos/asf/wicket/blob/7eba9998/wicket-user-guide/src/main/asciidoc/img/select-all-checkbox.png
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/main/asciidoc/img/select-all-checkbox.png b/wicket-user-guide/src/main/asciidoc/img/select-all-checkbox.png
new file mode 100644
index 0000000..c117d33
Binary files /dev/null and b/wicket-user-guide/src/main/asciidoc/img/select-all-checkbox.png differ

http://git-wip-us.apache.org/repos/asf/wicket/blob/7eba9998/wicket-user-guide/src/main/asciidoc/img/simple-listview-screenshot.png
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/main/asciidoc/img/simple-listview-screenshot.png b/wicket-user-guide/src/main/asciidoc/img/simple-listview-screenshot.png
new file mode 100644
index 0000000..3754032
Binary files /dev/null and b/wicket-user-guide/src/main/asciidoc/img/simple-listview-screenshot.png differ

http://git-wip-us.apache.org/repos/asf/wicket/blob/7eba9998/wicket-user-guide/src/main/asciidoc/img/springsource-logo.png
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/main/asciidoc/img/springsource-logo.png b/wicket-user-guide/src/main/asciidoc/img/springsource-logo.png
new file mode 100644
index 0000000..34e8d8e
Binary files /dev/null and b/wicket-user-guide/src/main/asciidoc/img/springsource-logo.png differ

http://git-wip-us.apache.org/repos/asf/wicket/blob/7eba9998/wicket-user-guide/src/main/asciidoc/img/subscribe-checkbox-set.png
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/main/asciidoc/img/subscribe-checkbox-set.png b/wicket-user-guide/src/main/asciidoc/img/subscribe-checkbox-set.png
new file mode 100644
index 0000000..b29a868
Binary files /dev/null and b/wicket-user-guide/src/main/asciidoc/img/subscribe-checkbox-set.png differ

http://git-wip-us.apache.org/repos/asf/wicket/blob/7eba9998/wicket-user-guide/src/main/asciidoc/img/tinymce.png
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/main/asciidoc/img/tinymce.png b/wicket-user-guide/src/main/asciidoc/img/tinymce.png
new file mode 100644
index 0000000..8f9eef1
Binary files /dev/null and b/wicket-user-guide/src/main/asciidoc/img/tinymce.png differ

http://git-wip-us.apache.org/repos/asf/wicket/blob/7eba9998/wicket-user-guide/src/main/asciidoc/img/tinymce_basic.png
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/main/asciidoc/img/tinymce_basic.png b/wicket-user-guide/src/main/asciidoc/img/tinymce_basic.png
new file mode 100644
index 0000000..99ccaad
Binary files /dev/null and b/wicket-user-guide/src/main/asciidoc/img/tinymce_basic.png differ

http://git-wip-us.apache.org/repos/asf/wicket/blob/7eba9998/wicket-user-guide/src/main/asciidoc/img/tomcat-admin-sessions.png
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/main/asciidoc/img/tomcat-admin-sessions.png b/wicket-user-guide/src/main/asciidoc/img/tomcat-admin-sessions.png
new file mode 100644
index 0000000..b9f6474
Binary files /dev/null and b/wicket-user-guide/src/main/asciidoc/img/tomcat-admin-sessions.png differ

http://git-wip-us.apache.org/repos/asf/wicket/blob/7eba9998/wicket-user-guide/src/main/asciidoc/img/uml-component.png
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/main/asciidoc/img/uml-component.png b/wicket-user-guide/src/main/asciidoc/img/uml-component.png
new file mode 100644
index 0000000..61c3010
Binary files /dev/null and b/wicket-user-guide/src/main/asciidoc/img/uml-component.png differ

http://git-wip-us.apache.org/repos/asf/wicket/blob/7eba9998/wicket-user-guide/src/main/asciidoc/img/uml-form-component.png
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/main/asciidoc/img/uml-form-component.png b/wicket-user-guide/src/main/asciidoc/img/uml-form-component.png
new file mode 100644
index 0000000..3577220
Binary files /dev/null and b/wicket-user-guide/src/main/asciidoc/img/uml-form-component.png differ

http://git-wip-us.apache.org/repos/asf/wicket/blob/7eba9998/wicket-user-guide/src/main/asciidoc/img/uml-imodel.png
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/main/asciidoc/img/uml-imodel.png b/wicket-user-guide/src/main/asciidoc/img/uml-imodel.png
new file mode 100644
index 0000000..cd42287
Binary files /dev/null and b/wicket-user-guide/src/main/asciidoc/img/uml-imodel.png differ

http://git-wip-us.apache.org/repos/asf/wicket/blob/7eba9998/wicket-user-guide/src/main/asciidoc/img/url-encrypted.png
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/main/asciidoc/img/url-encrypted.png b/wicket-user-guide/src/main/asciidoc/img/url-encrypted.png
new file mode 100644
index 0000000..ea4c4b6
Binary files /dev/null and b/wicket-user-guide/src/main/asciidoc/img/url-encrypted.png differ

http://git-wip-us.apache.org/repos/asf/wicket/blob/7eba9998/wicket-user-guide/src/main/asciidoc/img/validation-error-message.png
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/main/asciidoc/img/validation-error-message.png b/wicket-user-guide/src/main/asciidoc/img/validation-error-message.png
new file mode 100644
index 0000000..eb7c878
Binary files /dev/null and b/wicket-user-guide/src/main/asciidoc/img/validation-error-message.png differ

http://git-wip-us.apache.org/repos/asf/wicket/blob/7eba9998/wicket-user-guide/src/main/asciidoc/img/validator-type-hierachy.png
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/main/asciidoc/img/validator-type-hierachy.png b/wicket-user-guide/src/main/asciidoc/img/validator-type-hierachy.png
new file mode 100644
index 0000000..64c33f4
Binary files /dev/null and b/wicket-user-guide/src/main/asciidoc/img/validator-type-hierachy.png differ

http://git-wip-us.apache.org/repos/asf/wicket/blob/7eba9998/wicket-user-guide/src/main/asciidoc/img/validator-with-bundle.png
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/main/asciidoc/img/validator-with-bundle.png b/wicket-user-guide/src/main/asciidoc/img/validator-with-bundle.png
new file mode 100644
index 0000000..012b5d5
Binary files /dev/null and b/wicket-user-guide/src/main/asciidoc/img/validator-with-bundle.png differ

http://git-wip-us.apache.org/repos/asf/wicket/blob/7eba9998/wicket-user-guide/src/main/asciidoc/img/warning.gif
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/main/asciidoc/img/warning.gif b/wicket-user-guide/src/main/asciidoc/img/warning.gif
new file mode 100644
index 0000000..c6acdec
Binary files /dev/null and b/wicket-user-guide/src/main/asciidoc/img/warning.gif differ

http://git-wip-us.apache.org/repos/asf/wicket/blob/7eba9998/wicket-user-guide/src/main/asciidoc/img/webinf.png
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/main/asciidoc/img/webinf.png b/wicket-user-guide/src/main/asciidoc/img/webinf.png
new file mode 100644
index 0000000..d1f9fa3
Binary files /dev/null and b/wicket-user-guide/src/main/asciidoc/img/webinf.png differ

http://git-wip-us.apache.org/repos/asf/wicket/blob/7eba9998/wicket-user-guide/src/main/asciidoc/img/wicket-cache.png
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/main/asciidoc/img/wicket-cache.png b/wicket-user-guide/src/main/asciidoc/img/wicket-cache.png
new file mode 100644
index 0000000..649335e
Binary files /dev/null and b/wicket-user-guide/src/main/asciidoc/img/wicket-cache.png differ

http://git-wip-us.apache.org/repos/asf/wicket/blob/7eba9998/wicket-user-guide/src/main/asciidoc/img/wicket_metrics_graphite.png
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/main/asciidoc/img/wicket_metrics_graphite.png b/wicket-user-guide/src/main/asciidoc/img/wicket_metrics_graphite.png
new file mode 100644
index 0000000..c10ab42
Binary files /dev/null and b/wicket-user-guide/src/main/asciidoc/img/wicket_metrics_graphite.png differ

http://git-wip-us.apache.org/repos/asf/wicket/blob/7eba9998/wicket-user-guide/src/main/asciidoc/img/wikipedia-login-form.png
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/main/asciidoc/img/wikipedia-login-form.png b/wicket-user-guide/src/main/asciidoc/img/wikipedia-login-form.png
new file mode 100644
index 0000000..8fee47d
Binary files /dev/null and b/wicket-user-guide/src/main/asciidoc/img/wikipedia-login-form.png differ

http://git-wip-us.apache.org/repos/asf/wicket/blob/7eba9998/wicket-user-guide/src/main/asciidoc/internals.adoc
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/main/asciidoc/internals.adoc b/wicket-user-guide/src/main/asciidoc/internals.adoc
new file mode 100644
index 0000000..139597f
--- /dev/null
+++ b/wicket-user-guide/src/main/asciidoc/internals.adoc
@@ -0,0 +1,2 @@
+
+

http://git-wip-us.apache.org/repos/asf/wicket/blob/7eba9998/wicket-user-guide/src/main/asciidoc/internals/autocomponents.adoc
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/main/asciidoc/internals/autocomponents.adoc b/wicket-user-guide/src/main/asciidoc/internals/autocomponents.adoc
new file mode 100644
index 0000000..12e9214
--- /dev/null
+++ b/wicket-user-guide/src/main/asciidoc/internals/autocomponents.adoc
@@ -0,0 +1,81 @@
+
+=== Markup loading and parsing
+
+Before rendering any component Wicket must retrieve its markup calling method _getMarkup()_ of class _org.apache.wicket.Component_. This markup is an instance of interface _org.apache.wicket.markup.IMarkupFragment_. Markup is lazy loaded the first time we render the relative component and is cached at application level. The internal class that actually loads the markup is _org.apache.wicket.markup.MarkupFactory_ and is part of application's markup settings:
+
+[source,java]
+----
+	//get current markup factory
+	Application.get().getMarkupSettings().getMarkupFactory()
+----
+ 
+After the markup has been loaded by _MarkupFactory_, it's parsed with class _org.apache.wicket.markup.MarkupParser_. _MarkupFactory_ creates a new _MarkupParser_ with method _newMarkupParser(MarkupResourceStream resource)_. The effective markup parsing is performed with a chain of entities implementing interface _org.apache.wicket.markup.parser.IMarkupFilter_. The default set of _IMarkupFilters_S used by _MarkupParser_ takes care of different tasks such as HTML validation, comments removing, Wicket tags handling, etc... 
+
+To customize the set of _IMarkupFilters_S used in our application we can create a subclass of _MarkupFactory_ overriding method _newMarkupParser(MarkupResourceStream resource)_:
+
+[source,java]
+----
+public MyMarkupFactory 
+{
+...
+  public MarkupParser newMarkupParser(final MarkupResourceStream resource) 
+  {
+       MarkupParser parser = super.newMarkupParser(resource);
+       parser.add(new MyFilter());
+       return parser;
+  }
+}
+----
+
+This custom class must be registered in the markup settings during application's initialization:
+
+[source,java]
+----
+@Override
+public void init()
+{
+	super.init();
+	getMarkupSettings().setMarkupFactory(myMarkupFactory)
+}
+----
+
+Usually we won't need to change the default configuration of _IMarkupFilters_S, but it's important to be aware of this internal mechanism before we talk about another advanced feature, which is building auto components resolvers.
+
+=== Auto components resolvers
+
+Even if Wicket encourages developers to use just standard HTML in their markup code, in this guide we have seen a number of  [special] tags (those starting with _wicket:_) that help us for specific tasks (e.g. _wicket:enclosure_ tag). Wicket handles most of these tags creating a corresponding special component called _auto_ component. This kind of components are resolved in two steps:
+
+1. first their tag is identified by a _IMarkupFilters_ which also takes care of assigning a unique tag id.
+2. then during rendering phase when an auto-component is found a new component is created for it using one of the registered _org.apache.wicket.markup.resolver.IComponentResolver_:
+
+[source,java]
+----
+public interface IComponentResolver extends IClusterable
+{
+	/**
+	 * Try to resolve a component.
+	 * 
+	 * @param container
+	 *            The container parsing its markup
+	 * @param markupStream
+	 *            The current markupStream
+	 * @param tag
+	 *            The current component tag while parsing the markup
+	 * @return component or {@code null} if not found
+	 */
+	public Component resolve(final MarkupContainer container, final MarkupStream markupStream,
+		final ComponentTag tag);
+}
+----
+
+Registered _IComponentResolver_s can be retrieved through Application's settings:
+
+[source,java]
+----
+Application.get()
+	.getPageSettings()
+	.getComponentResolvers()
+----
+
+NOTE: An internal utility class named _org.apache.wicket.markup.resolver.ComponentResolvers_ is also available to resolve autocomponents for the current markup tag.
+

http://git-wip-us.apache.org/repos/asf/wicket/blob/7eba9998/wicket-user-guide/src/main/asciidoc/internals/pagestoring.adoc
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/main/asciidoc/internals/pagestoring.adoc b/wicket-user-guide/src/main/asciidoc/internals/pagestoring.adoc
new file mode 100644
index 0000000..3a0c28e
--- /dev/null
+++ b/wicket-user-guide/src/main/asciidoc/internals/pagestoring.adoc
@@ -0,0 +1,98 @@
+
+During request handling, Wicket manages page instances through interface _org.apache.wicket.request.handler.IPageProvider_. This interface creates a new page instance or loads a previously serialized page instance if we provide the corrisponding page id. _IPageProvider_ delegates page creation and retrieval to interface _org.apache.wicket.request.mapper.IPageSource_.
+When page class is provided _IPageSource_ delegates page creation to interface _org.apache.wicket.IPageFactory_, while when page id is provided it uses interface _org.apache.wicket.page.IPageManager_ to load the previously serialized page.
+
+The following workflow diagram summarizes the mechanism seen so far:
+
+image::../img/page-storage.png[]
+
+=== IPageManager
+
+_org.apache.wicket.page.IPageManager_'s task is to manage which pages have been used in a request and store their last state in the backing stores, namely _IPageStore_.
+The default implementation _org.apache.wicket.page.PageStoreManager_ collects all stateful pages which have been used in the request cycle (more than one page can be used in a single request if for example _setResponsePage()_ or _RestartResponseException_ is used).
+At the end of the request all collected page instances are being stored in the first level cache - http session. They are stored in http session attribute named _ [wicket:persistentPageManagerData-APPLICATION_NAME] and passed to the underlying _IPageStore_.
+When the next http request comes _IPageProvider_ will ask for page with specific id and _PageStoreManager_ will look first in the http session and if no match is found then it will delegate to the IPageStore. At the end of the second request the http session based cache is being overwritten completely with the newly used page instances.
+
+To setup another _IPageManager_ implementation use _org.apache.wicket.Application.setPageManagerProvider(IPageManagerProvider)_.
+The custom _IPageManager_ implementation may or may not use _IPageStore/IDataStore_.
+
+=== IPageStore
+
+_org.apache.wicket.pageStore.IPageStore_'s role is to mediate the storing and loading of pages done by the underlying _IDataStore_. The default implementation _org.apache.wicket.pageStore.DefaultPageStore_ pre-processes the pages before passing them to _IDataStore1.storeData(String, int, byte <<_>>
+)_ and to post-processes them after _IDataStore1.getData(String, int)_. The processing consists of transforming the page instance to _org.apache.wicket.pageStore.DefaultPageStore.SerializedPage_. This is a struct of:
+
+[source,java]
+----
+{
+   sessionId: String,
+   pageId : int,
+   data : byte[]
+}
+----
+
+i.e. this is the serialized page instance (data) plus additional information needed to be able to easily find it later (sessionId, pageId).
+
+When a _SerializedPage_ has to be stored _DefaultPageStore_ stores it in a application scoped cache ({sessionId, pageId} -> SerializedPage) and additionally gives it to the underlying _IDataStore1.storeData(sessionId, pageId, data)_. The application scoped cache is used as second level cache. Getting a page from it is slower than the http session based cache in _PageStoreManager_ because the page has to be deserialized, but is faster than the underlying _IDataStore_ which stores the page bytes in some persistent store.
+
+The size of the application scoped cache is configurable via _org.apache.wicket.settings.StoreSettings.setInmemoryCacheSize(int)_.
+
+=== IDataStore
+
+_org.apache.wicket.pageStore.IDataStore_ is used to persist Wicket pages (as bytes) to a persistent store like e.g. files or databases. The default implementation is _org.apache.wicket.pageStore.DiskDataStore_ which as its name says stores the pages in files. The location of the folder where the files are stored is configurable via _org.apache.wicket.settings.StoreSettings.setFileStoreFolder(File)_, by default the web container's work folder is used (ServletContext attribute 'javax.servlet.context.tempdir'). In this folder a sub-folder is created named _'applicationName-filestore'_. 
+This folder contains a sub-folder for each active http session. This session folder contains a single file named 'data' which contains the bytes for the pages. The size of this 'data' file is configurable via _org.apache.wicket.settings.StoreSettings.setMaxSizePerSession(Bytes)_. When this size is exceeded the newly stored files overwrite the oldest ones.
+
+=== AsynchronousDataStore
+
+By default Wicket wraps _DiskDataStore_ with _org.apache.wicket.pageStore.AsynchronousDataStore_. The role of _AsynchronousDataStore_ is to detach the http worker thread from waiting for the write of the page bytes to the disk.
+To disable it use: _org.apache.wicket.settings.StoreSettings.setAsynchronous(false)_. AsynchronousDataStore can delay the storage of pages' bytes for at most _org.apache.wicket.settings.StoreSettings.setAsynchronousQueueCapacity(int)_ pages. If this capacity is exceeded then the page's bytes are written synchronously to the backing _IDataStore_.
+
+=== DebugDiskDataStore
+
+Wicket provides an extension of _DiskDataStore_ that can be used to browse the content of the 'data' files created by _DiskDataStore_. This extension can be found in wicket-devutils.jar and needs to be enabled in the _init_-method of your application via 
+[source,java]
+----
+ DebugDiskDataStore.register(this);
+----
+The debug information can be seen at http://host:port/context/wicket/internal/debug/diskDataStore
+
+=== HttpSessionDataStore
+
+In some environments like Google AppEngine it is not allowed to write to the file system and thus _DiskDataStore_ cannot be used. In this case _org.apache.wicket.pageStore.memory.HttpSessionDataStore_ can be used as replacement. This implementation of _IDataStore_ is not persistent and puts all the data in the http session.
+Wicket comes with 2 default eviction strategies to keep the size of the http session reasonable:
+
+* *org.apache.wicket.pageStore.memory.PageNumberEvictionStrategy* - specifies how many pages can be hold
+* *org.apache.wicket.pageStore.memory.MemorySizeEvictionStrategy* - specifies the maximum amount of memory for pages per http session.
+
+To configure it:
+[source,java]
+----
+MyApp#init()
+{
+   super.init();
+ 
+   setPageManagerProvider(new DefaultPageManagerProvider(this)
+   {
+       protected IDataStore newDataStore()
+       {
+           return  new HttpSessionDataStore(getPageManagerContext(), new PageNumberEvictionStrategy(20));
+       }
+   }
+}
+----
+
+=== DebugBar
+
+Further insights which can be valueable during debugging can be retrieved using the _org.apache.wicket.devutils.debugbar.DebugBar_ from wicket-devutils.jar. It's a panel which you simply add:
+
+Java: 
+[source,java]
+----
+add(new DebugBar("debug"));
+----
+
+HTML:
+[source,java]
+----
+<span wicket:id="debug"/>
+----
+

http://git-wip-us.apache.org/repos/asf/wicket/blob/7eba9998/wicket-user-guide/src/main/asciidoc/introduction.adoc
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/main/asciidoc/introduction.adoc b/wicket-user-guide/src/main/asciidoc/introduction.adoc
new file mode 100644
index 0000000..6832c72
--- /dev/null
+++ b/wicket-user-guide/src/main/asciidoc/introduction.adoc
@@ -0,0 +1,26 @@
+
+Wicket has been around since 2004 and it has been an Apache project since 2007. During these years it has proved to be a solid and valuable solution for building enterprise web applications.
+
+Wicket core developers have done a wonderful job with this framework and they continue to improve it release after release.
+However Wicket never provided a freely available documentation and even if you can find on Internet many live examples and many technical articles on it (most of them at {wicket_examples_url}[Wicket Examples Site] and at http://wicketinaction.com[Wicket in Action]), the lack of an organized and freely available documentation has always been a sore point for this framework.
+
+That's quite an issue because many other popular frameworks (like Spring, Hibernate or Struts) offer a vast and very good documentation which substantially contributed to their success.
+
+This document is not intended to be a complete reference for Wicket but it simply aims to be a straightforward introduction to the framework that should significantly reduce its learning curve. What you will find here reflects my experience with Wicket and it's strictly focused on the framework.
+The various Wicket-related topics are gradually introduced using pragmatic examples of code that you can find in  https://github.com/bitstorm/Wicket-tutorial-examples[the according repository on Github.] 
+However remember that Wicket is a vast and powerful tool, so you should feel confident with the topics exposed in this document before starting to code your real applications!
+
+For those who need further documentation on Wicket, there are  http://wicket.apache.org/learn/books/[many good books] available for this framework.
+
+Hope you'll find this guide helpful. Have fun with Wicket!
+
+*Andrea Del Bene, adelbene@apache.org*
+
+*PS*: this guide is based on Wicket 6. However if you are using an older version you should find this guide useful as well, but it's likely that the code and the snippets won't work with your version.
+
+*PPS*: although I've tried to do my best working on this tutorial, this document is a work in progress and may contain errors and/or omissions. That's why any feedback of any kind is REALLY appreciated!
+
+Project started by 
+
+image::../img/comsysto-logo.png[link="http://comsysto.com/"]
+

http://git-wip-us.apache.org/repos/asf/wicket/blob/7eba9998/wicket-user-guide/src/main/asciidoc/jee.adoc
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/main/asciidoc/jee.adoc b/wicket-user-guide/src/main/asciidoc/jee.adoc
new file mode 100644
index 0000000..0be3877
--- /dev/null
+++ b/wicket-user-guide/src/main/asciidoc/jee.adoc
@@ -0,0 +1,12 @@
+
+Writing a web application is not just about producing a good layout and a bunch of \u201ccool\u201d pages. We must also integrate our presentation code with enterprise resources like data sources, message queues, business objects, etc...
+
+The first decade of 2000s has seen the rising of new frameworks (like  http://spring.io/[Spring] ) and new specifications (like  http://en.wikipedia.org/wiki/Enterprise_JavaBeans[EJB 3.1] ) aimed to simplify the management of enterprise resources and (among other things) their integration with presentation code. 
+
+All these new technologies are based on the concepts of container and dependency injection. Container is the environment where our enterprise resources are created and configured while   http://en.wikipedia.org/wiki/Dependency_Injection[dependency injection] is a pattern implemented by containers to inject into an object the resources it depends on.
+
+Wicket can be easily integrated with enterprise containers using component instantiation listeners. These entities are instances of interface _org.apache.wicket.application.IComponentInstantiationListener_ and can be registered during application's initialization.   IComponentInstantiationListener defines callback method onInstantiation(Component component) which can be used to provide custom instantiation logic for Wicket components. 
+
+Wicket distribution and project  https://github.com/wicketstuff[WicketStuff] already provide a set of built-in listeners to integrate our applications with EJB 3.1 compliant containers (like JBoss Seam) or with some of the most popular enterprise frameworks like  http://code.google.com/p/google-guice/[Guice] or Spring.
+
+In this chapter we will see two basic examples of injecting a container-defined object into a page using first an implementation of the EJB 3.1 specifications (project  http://openejb.apache.org/[OpenEJB] ) and then using Spring.

http://git-wip-us.apache.org/repos/asf/wicket/blob/7eba9998/wicket-user-guide/src/main/asciidoc/jee/jee_1.adoc
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/main/asciidoc/jee/jee_1.adoc b/wicket-user-guide/src/main/asciidoc/jee/jee_1.adoc
new file mode 100644
index 0000000..464d285
--- /dev/null
+++ b/wicket-user-guide/src/main/asciidoc/jee/jee_1.adoc
@@ -0,0 +1,56 @@
+
+
+
+WicketStuff provides a module called wicketstuff-javaee-inject that contains component instantiation listener _JavaEEComponentInjector_. If we register this listener in our application we can use standard EJB annotations to inject dependencies into our Wicket components.
+
+To register a component instantiation listener in Wicket we must use _Application_'s method _getComponentInstantiationListeners_ which returns a typed collection of _IComponentInstantiationListeners_. 
+
+The following initialization code is taken from project _EjbInjectionExample_: 
+
+[source,java]
+----
+public class WicketApplication extends WebApplication
+{    	
+       //Constructor...
+
+	@Override
+	public void init()
+	{
+		super.init();
+		getComponentInstantiationListeners().add(new JavaEEComponentInjector(this));		
+	}	
+}
+----
+
+In this example the object that we want to inject is a simple class containing a greeting message:
+
+[source,java]
+----
+@ManagedBean
+public class EnterpriseMessage {
+	public String message = "Welcome to the EJB world!";
+}
+----
+
+Please note that we have used annotation ManagedBean to decorate our object. Now to inject it into the home page we must add a field of type EnterpriseMessage and annotate it with annotation _EJB:
+
+[source,java]
+----
+public class HomePage extends WebPage {
+	
+	@EJB
+	private EnterpriseMessage enterpriseMessage;
+	//getter and setter for enterpriseMessage...
+	
+	public HomePage(final PageParameters parameters) {
+		super(parameters);
+	
+		add(new Label("message", enterpriseMessage.message));
+	}
+}
+----
+
+That is all. We can point the browser to the home page of the project and see the greeting message injected into the page:
+
+image::../img/EjbInjectionExample.png[]
+

http://git-wip-us.apache.org/repos/asf/wicket/blob/7eba9998/wicket-user-guide/src/main/asciidoc/jee/jee_2.adoc
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/main/asciidoc/jee/jee_2.adoc b/wicket-user-guide/src/main/asciidoc/jee/jee_2.adoc
new file mode 100644
index 0000000..a3fc3f3
--- /dev/null
+++ b/wicket-user-guide/src/main/asciidoc/jee/jee_2.adoc
@@ -0,0 +1,66 @@
+
+
+
+If we need to inject dependencies with Spring we can use listener _org.apache.wicket.spring.injection.annot.SpringComponentInjector_ provided by module wicket-spring.
+
+For the sake of simplicity in the example project _SpringInjectionExample_ we have used Spring class _AnnotationConfigApplicationContext_ to avoid any XML file and create a Spring context directly from code:
+
+[source,java]
+----
+public class WicketApplication extends WebApplication
+{      
+  //Constructor...
+
+  @Override
+  public void init()
+  {
+    super.init();
+
+    AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext();
+    //Scan package for annotated beans
+    ctx.scan("org.wicketTutorial.ejbBean");
+    ctx.refresh();
+    
+    getComponentInstantiationListeners().add(new SpringComponentInjector(this, ctx));
+  }	
+}
+----
+
+As we can see in the code above, the constructor of _SpringComponentInjector_ takes in input also an instance of Spring context.
+
+The injected object is the same used in the previous project _EjbInjectionExample_, it differs only for the greeting message:
+
+[source,java]
+----
+@ManagedBean
+public class EnterpriseMessage {
+	public String message = "Welcome to the Spring world!";
+}
+----
+
+In the home page of the project the object is injected using Wicket annotation _SpringBean:
+
+[source,java]
+----
+public class HomePage extends WebPage {
+  @SpringBean
+  private EnterpriseMessage enterpriseMessage;
+  //getter and setter for enterpriseMessage...
+  
+  public HomePage(final PageParameters parameters) {
+  	super(parameters);
+	
+	add(new Label("message", enterpriseMessage.message));
+  }
+}
+----
+
+By default _SpringBean_ searches into Spring context for a bean having the same type of the annotated field. If we want we can specify also the name of the bean to use as injected object and we can declare if the dependency is required or not. By default dependencies are required and if they can not be resolved to a compatible bean, Wicket will throw an _IllegalStateException_:
+
+[source,java]
+----
+  //set the dependency as not required, i.e the field can be left null
+  @SpringBean(name="anotherName", required=false)
+  private EnterpriseMessage enterpriseMessage;
+----
+

http://git-wip-us.apache.org/repos/asf/wicket/blob/7eba9998/wicket-user-guide/src/main/asciidoc/jee/jee_3.adoc
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/main/asciidoc/jee/jee_3.adoc b/wicket-user-guide/src/main/asciidoc/jee/jee_3.adoc
new file mode 100644
index 0000000..ea383b6
--- /dev/null
+++ b/wicket-user-guide/src/main/asciidoc/jee/jee_3.adoc
@@ -0,0 +1,13 @@
+
+
+
+Spring (and Guice) users can use standard  http://jcp.org/en/jsr/detail?id=330[JSR-330] annotations to wire their dependencies. This will make their code more interoperable with other containers that support this standard:
+
+[source,java]
+----
+  //inject a bean specifying its name with JSR-330 annotations
+  @Inject 
+  @Named("anotherName")
+  private EnterpriseMessage enterpriseMessage;
+----
+

http://git-wip-us.apache.org/repos/asf/wicket/blob/7eba9998/wicket-user-guide/src/main/asciidoc/jee/jee_4.adoc
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/main/asciidoc/jee/jee_4.adoc b/wicket-user-guide/src/main/asciidoc/jee/jee_4.adoc
new file mode 100644
index 0000000..84656d7
--- /dev/null
+++ b/wicket-user-guide/src/main/asciidoc/jee/jee_4.adoc
@@ -0,0 +1,7 @@
+
+
+
+In this chapter we have seen how to integrate Wicket applications with Spring and with an EJB container. Module wicket-examples contains also an example of integration with Guice (see application class _org.apache.wicket.examples.guice.GuiceApplication_). 
+
+
+

http://git-wip-us.apache.org/repos/asf/wicket/blob/7eba9998/wicket-user-guide/src/main/asciidoc/jsintegration.adoc
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/main/asciidoc/jsintegration.adoc b/wicket-user-guide/src/main/asciidoc/jsintegration.adoc
new file mode 100644
index 0000000..12f128c
--- /dev/null
+++ b/wicket-user-guide/src/main/asciidoc/jsintegration.adoc
@@ -0,0 +1,2 @@
+
+It's time to put into practice what we have learnt so far in this guide. To do this we will build a custom date component consisting of a text field to edit a date value and a fancy calendar icon to open a JavaScript datepicker. This chapter will also illustrate an example of integration of Wicket with a JavaScript library like  http://jquery.com/[JQuery] and its child project  http://jqueryui.com/[JQuery UI] .

http://git-wip-us.apache.org/repos/asf/wicket/blob/7eba9998/wicket-user-guide/src/main/asciidoc/jsintegration/jsintegration_1.adoc
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/main/asciidoc/jsintegration/jsintegration_1.adoc b/wicket-user-guide/src/main/asciidoc/jsintegration/jsintegration_1.adoc
new file mode 100644
index 0000000..cc92cc3
--- /dev/null
+++ b/wicket-user-guide/src/main/asciidoc/jsintegration/jsintegration_1.adoc
@@ -0,0 +1,22 @@
+
+
+
+For end-users a datepicker is one of the most appreciated widget. It allows to simply edit a date value with the help of a user-friendly pop-up calendar. That's why nearly all UI frameworks provide a version of this widget. 
+
+Popular JavaScript libraries like YUI and JQuery come with a ready-to-use datepicker to enrich the user experience of our web applications. Wicket already provides a component which integrates a text field with a calendar widget from YUI library, but there is no built-in component that uses a datepicker based on JQuery library. 
+
+As both JQuery and its child project JQueryUI have gained a huge popularity in the last years, it's quite interesting to see how to integrate them in Wicket building a custom component. In this chapter we will create a custom datepicker based on the corresponding widget from JQueryUI project:
+
+image::../img/datepicker-screenshot.png[]
+
+WARNING: On Internet you can find different libraries that already offer a strong integration between Wicket and JQuery. The goal of this chapter is to see how to integrate Wicket with a JavaScript framework building a simple homemade datepicker which is not intended to provide every feature of the original JavaScript widget.
+
+=== What features we want to implement
+
+Before starting to write code, we must clearly define what features we want to implement for our component. The new component should:
+
+* *Be self-contained*: we must be able to distribute it and use it in other projects without requiring any kind of additional configuration.
+* *Have a customizable date format*: developer must be able to decide the date format used to display date value and to parse user input. 
+* *Be localizable*: the pop-up calendar must be localizable in order to support different languages.
+
+That's what we'd like to have with our custom datepicker. In the rest of the chapter we will see how to implement the features listed above and which resources must be packaged with our component.

http://git-wip-us.apache.org/repos/asf/wicket/blob/7eba9998/wicket-user-guide/src/main/asciidoc/jsintegration/jsintegration_2.adoc
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/main/asciidoc/jsintegration/jsintegration_2.adoc b/wicket-user-guide/src/main/asciidoc/jsintegration/jsintegration_2.adoc
new file mode 100644
index 0000000..371eb9a
--- /dev/null
+++ b/wicket-user-guide/src/main/asciidoc/jsintegration/jsintegration_2.adoc
@@ -0,0 +1,139 @@
+
+
+
+Our new component will extend the a built-in text field _org.apache.wicket.extensions.markup.html.form.DateTextField_ which already uses a java.util.Date as model object and already performs conversion and validation for input values. Since the component must be self-contained, we must ensure that the JavaScript libraries it relies on (JQuery and JQuery UI) will be always available. 
+
+Starting from version 6.0 Wicket has adopted JQuery as backing JavaScript library so we can use the  version bundled with Wicket for our custom datepicker. 
+
+To make JQuery UI available we should instead go to its official site, download the required artifacts and use them as package resources of our component. 
+
+=== Component package resources
+
+JQuery UI needs the following static resources in order to work properly:
+
+* *jquery-ui.min.js*: the minified version of the library.
+* *jquery-ui.css*: the CSS containing the style used by JQuery UI widgets.
+* *jquery-ui-i18n.min.js*: the minified JavaScript containing the built-in support for localization.
+* *Folder 'images'*: the folder containing picture files used by JQuery UI widgets.
+
+In the following picture we can see these package resources with our component class (named JQueryDateField):
+
+image::../img/datepicker-package-resources.png[]
+
+Along with the four static resources listed above, we can find also file calendar.jpg, which is the calendar icon used to open the pop up calendar, and file JQDatePicker.js which contains the following custom JavaScript code that binds our component to a JQuery UI datepicker:
+
+[source,java]
+----
+function initJQDatepicker(inputId, countryIsoCode, dateFormat,  calendarIcon) {
+	var localizedArray = $.datepicker.regional[countryIsoCode];
+	localizedArray['buttonImage'] = calendarIcon;
+	localizedArray['dateFormat'] = dateFormat;
+	initCalendar(localizedArray);
+	$("#" + inputId).datepicker(localizedArray);	
+};
+
+function initCalendar(localizedArray){
+	 localizedArray['changeMonth']= true;
+	 localizedArray['changeYear']= true;
+	 localizedArray['showOn'] = 'button';
+	 localizedArray['buttonImageOnly'] = true;
+};
+----
+
+Function initJQDatepicker takes in input the following parameters:
+
+* *inputId*: the id of the HTML text field corresponding to our custom component instance.
+* *countryIsoCode*: a two-letter low-case ISO language code. It can contain also the two-letter upper-case ISO country code separated with a minus sign (for example en-GB)
+* *dateFormat*: the date format to use for parsing and displaying date values.
+* *calendarIcon*: the relative URL of the icon used as calendar icon.
+
+As we will see in the next paragraphs, its up to our component to generate this parameters and invoke the initJQDatepicker function.
+
+Function initCalendar is a simple utility function that sets the initialization array for datepicker widget. For more details on JQuery UI datepicker usage see the documentation at http://jqueryui.com/ datepicker.
+
+=== Initialization code
+
+The initialization code for our component is contained inside its method onInitialize and is the following:
+
+[source,java]
+----
+@Override
+protected void onInitialize() {
+	super.onInitialize();
+	setOutputMarkupId(true);
+
+	datePattern =  new ResourceModel("jqueryDateField.shortDatePattern", "mm/dd/yy")
+                                          .getObject();		
+	countryIsoCode = new ResourceModel("jqueryDateField.countryIsoCode", "en-GB")                                                             
+                                          .getObject();
+
+	PackageResourceReference resourceReference = 
+                            new PackageResourceReference(getClass(), "calendar.jpg");
+		
+	urlForIcon = urlFor(resourceReference, new PageParameters());
+	dateConverter = new PatternDateConverter(datePattern, false);	
+}	
+	
+@Override
+public <Date> IConverter<Date> getConverter(Class<Date> type) {
+	return (IConverter<Date>) dateConverter;
+}
+----
+
+The first thing to do inside onInitialize is to ensure that our component will have a markup id for its related text field. This is done invoking setOutputMarkupId(true). 
+
+Next, JQueryDateField tries to retrieve the date format and the ISO language code that must be used as initialization parameters. This is done using class _ResourceModel_ which searches for a given resource in the available bundles. If no value is found for date format or for ISO language code, default values will be used ('mm/dd/yy' and 'en-GB'). 
+
+To generate the relative URL for calendar icon, we load it as package resource reference and then we use _Component_'s method urlFor to get the URL value (we have seen this method in <<requestProcessing.adoc#_the_director_of_request_processing_requestcycle,paragraph 9.3.2>>).
+
+The last configuration instruction executed inside onInitialize is the instantiation of the custom converter used by our component. This converter is an instance of the built-in class _org.apache.wicket.datetime.PatternDateConvert_ and must use the previously retrieved date format to perform conversion operations. Now to tell our component to use this converter we must return it overriding _FormComponent_'s method _getConverter_. 
+
+=== Header contributor code
+
+The rest of the code of our custom component is inside method _renderHeader_, which is responsible for adding to page header the bundled JQuery library, the three files from JQuery UI distribution, the custom file JQDatePicker.js and the invocation of function _initJQDatepicker_:
+
+[source,java]
+----
+@Override
+public void renderHead(IHeaderResponse response) {
+	super.renderHead(response);
+		
+	//if component is disabled we don't have to load the JQueryUI datepicker
+	if(!isEnabledInHierarchy())
+		return;
+	//add bundled JQuery
+	JavaScriptLibrarySettings javaScriptSettings =          
+                      getApplication().getJavaScriptLibrarySettings();
+	response.render(JavaScriptHeaderItem.
+			forReference(javaScriptSettings.getJQueryReference()));
+	//add package resources
+	response.render(JavaScriptHeaderItem.
+	      forReference(new PackageResourceReference(getClass(), "jquery-ui.min.js")));
+	response.render(JavaScriptHeaderItem.
+	      forReference(new PackageResourceReference(getClass(), "jquery-ui-i18n.min.js")));
+	response.render(CssHeaderItem.
+	      forReference(new PackageResourceReference(getClass(), "jquery-ui.css")));
+	//add custom file JQDatePicker.js. Reference JQDatePickerRef is a static field
+	response.render(JavaScriptHeaderItem.forReference(JQDatePickerRef));
+		
+	//add the init script for datepicker
+	String jqueryDateFormat = datePattern.replace("yyyy", "yy").toLowerCase();
+	String initScript = ";initJQDatepicker('" + getMarkupId() + "', '" + countryIsoCode +
+                            "', '" + jqueryDateFormat + "', " + "'" + urlForIcon +"');";
+	response.render(OnLoadHeaderItem.forScript(initScript));
+}
+----
+
+If component is disabled the calendar icon must be hidden and no datepicker must be displayed. That's why _renderHeader_ is skipped if component is not enabled.
+
+To get a reference to the bundled JQuery library we used the JavaScript setting class _JavaScriptLibrarySettings_ and its method _getJQueryReference_.
+
+In the last part of _renderHeader_ we build the string to invoke function _initJQDatepicker_ using the values obtained inside onInitialize. Unfortunately the date format used by JQuery UI is different from the one adopted in Java so we have to convert it before building the JavaScript code. This init script is rendered into header section using a _OnLoadHeaderItem_ to ensure that it will be executed after all the other scripts have been loaded.
+
+NOTE: If we add more than one instance of our custom component to a single page, static resources are rendered to the header section just once. Wicket automatically checks if a static resource is already referenced by a page and if so, it will not render it again.
+
+This does not apply to the init script which is dynamically generated and is rendered for every instance of the component.
+
+WARNING: Our datepicker is not ready yet to be used with AJAX. In 
+<<_working_with_ajax,chapter 19>> we will see how to modify it to make it AJAX-compatible.
+

http://git-wip-us.apache.org/repos/asf/wicket/blob/7eba9998/wicket-user-guide/src/main/asciidoc/jsintegration/jsintegration_3.adoc
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/main/asciidoc/jsintegration/jsintegration_3.adoc b/wicket-user-guide/src/main/asciidoc/jsintegration/jsintegration_3.adoc
new file mode 100644
index 0000000..833aae4
--- /dev/null
+++ b/wicket-user-guide/src/main/asciidoc/jsintegration/jsintegration_3.adoc
@@ -0,0 +1,8 @@
+
+
+
+In this brief chapter we have seen how custom components can be integrated with http://en.wikipedia.org/wiki/Dynamic_HTML[DHTML]
+
+
+
+

http://git-wip-us.apache.org/repos/asf/wicket/blob/7eba9998/wicket-user-guide/src/main/asciidoc/keepControl.adoc
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/main/asciidoc/keepControl.adoc b/wicket-user-guide/src/main/asciidoc/keepControl.adoc
new file mode 100644
index 0000000..70c4c37
--- /dev/null
+++ b/wicket-user-guide/src/main/asciidoc/keepControl.adoc
@@ -0,0 +1,4 @@
+
+Many Wicket newbies are initially scared by its approach to web development because they have the impression that the component-oriented nature of the framework prevents them from having direct control over the generated markup. This is due to the fact that many developers come from other server-side technologies like JSP where we physically implement the logic that controls how the final HTML is generated.
+
+This chapter will prevent you from having any initial misleading feeling about Wicket showing you how to control and manipulate the generated HTML with the built-in tools shipped with the framework.

http://git-wip-us.apache.org/repos/asf/wicket/blob/7eba9998/wicket-user-guide/src/main/asciidoc/keepControl/keepControl_1.adoc
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/main/asciidoc/keepControl/keepControl_1.adoc b/wicket-user-guide/src/main/asciidoc/keepControl/keepControl_1.adoc
new file mode 100644
index 0000000..39e2e48
--- /dev/null
+++ b/wicket-user-guide/src/main/asciidoc/keepControl/keepControl_1.adoc
@@ -0,0 +1,8 @@
+
+At the end of the previous chapter we have seen how to hide a component calling its method _setVisible_. In a similar fashion, we can also decide to disable a component using method _setEnabled_. When a component is disabled all the links inside it will be in turn disabled (they will be rendered as _<span>_) and it can not fire JavaScript events. 
+
+Class _Component_ provides two getter methods to determinate if a component is visible or enabled: _isVisible_ and _isEnabled_. 
+
+Even if nothing prevents us from overriding these two methods to implement a custom logic to determinate the state of a component, we should keep in mind that methods _isVisible_ and _isEnabled_ are called multiple times before a component is fully rendered. Hence, if we place non-trivial code inside these two methods, we can sensibly deteriorate the responsiveness of our pages.
+
+As we will see in the next chapter, class _Component_ provides method _onConfigure_ which is more suited to contain code that contributes to determinate component states because it is called just once during rendering phase.

http://git-wip-us.apache.org/repos/asf/wicket/blob/7eba9998/wicket-user-guide/src/main/asciidoc/keepControl/keepControl_10.adoc
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/main/asciidoc/keepControl/keepControl_10.adoc b/wicket-user-guide/src/main/asciidoc/keepControl/keepControl_10.adoc
new file mode 100644
index 0000000..4b73c7b
--- /dev/null
+++ b/wicket-user-guide/src/main/asciidoc/keepControl/keepControl_10.adoc
@@ -0,0 +1,101 @@
+
+Component _org.apache.wicket.markup.html.border.Border_ is a special purpose container created to enclose its tag body with its related markup. Just like panels and pages, borders also have their own markup file which is defined following the same rules seen for panels and pages. In this file _<wicket:border>_ tag is used to indicate which part of the content is to be considered as border markup:
+
+[source,html]
+----
+<?xml version="1.0" encoding="UTF-8"?>
+<html xmlns="http://www.w3.org/1999/xhtml" xmlns:wicket="http://wicket.apache.org">
+<head></head>
+<body>
+    <!--  everything above <wicket:border> tag will be discarded...-->
+    <wicket:border>
+	 <div>
+	    foo<br />
+    <wicket:body/><br />
+           buz <br />
+
+  </div>
+    </wicket:border>
+    <!--  everything below </wicket:border> tag will be discarded...-->
+</body>
+</html>
+----
+
+The _<wicket:body/>_ tag used in the example above is used to indicate where the body of the tag will be placed inside border markup. Now if we attached this border to the following tag
+
+[source,html]
+----
+<span wicket:id="myBorder">
+  bar
+</span>
+----
+
+we would obtain the following resulting HTML:
+
+[source,html]
+----
+<span wicket:id="myBorder">
+	<div>
+  		foo<br />
+  		bar<br />
+  		buz <br />
+	</div>
+</span>
+----
+
+_Border_ can also contain children components which can be placed either inside its markup file or inside its corresponding HTML tag. In the first case children must be added to the border component with method _addToBorder(Component...)_, while in the second case we must use the _add(Component...)_ method.
+
+The following example illustrates both use cases:
+
+Border class:
+
+[source,java]
+----
+public class MyBorder extends Border {
+
+	public MyBorder(String id) {
+		super(id);		
+	}
+
+}
+----
+
+Border Markup:
+
+[source,html]
+----
+<?xml version="1.0" encoding="UTF-8"?>
+<html xmlns="http://www.w3.org/1999/xhtml" xmlns:wicket="http://wicket.apache.org">
+<head></head>
+<body>
+    <wicket:border>
+	 <div>
+	    <div wicket:id="childMarkup"></div>
+    <wicket:body/><br />
+         </div>
+    </wicket:border>
+</body>
+</html>
+----
+
+Border tag:
+
+[source,html]
+----
+<div wicket:id="myBorder">
+  <span wicket:id="childTag"></span>
+</div>
+----
+
+Initialization code for border:
+
+[source,java]
+----
+MyBorder myBorder = new MyBorder("myBorder");
+	    
+myBorder.addToBorder(new Label("childMarkup", "Child inside markup."));
+myBorder.add(new Label("childTag", "Child inside tag."));
+	    
+add(myBorder);
+----
+

http://git-wip-us.apache.org/repos/asf/wicket/blob/7eba9998/wicket-user-guide/src/main/asciidoc/keepControl/keepControl_11.adoc
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/main/asciidoc/keepControl/keepControl_11.adoc b/wicket-user-guide/src/main/asciidoc/keepControl/keepControl_11.adoc
new file mode 100644
index 0000000..af47963
--- /dev/null
+++ b/wicket-user-guide/src/main/asciidoc/keepControl/keepControl_11.adoc
@@ -0,0 +1,8 @@
+
+
+
+In this chapter we have seen the tools provided by Wicket to gain complete control over the generated HTML. However we didn't see yet how we can repeat a portion of HTML with Wicket. With classic server-side technologies like PHP or JSP we use loops (like _while_ or _for_) inside our pages to achieve this result. 
+To perform this task Wicket provides a special-purpose family of components called repeaters and designed to repeat their markup body to display a set of items. 
+
+But to fully understand how these components work, we must first learn more of Wicket's basics. That's why repeaters will be introduced later in 
+<<_displaying_multiple_items_with_repeaters,chapter 13>>.

http://git-wip-us.apache.org/repos/asf/wicket/blob/7eba9998/wicket-user-guide/src/main/asciidoc/keepControl/keepControl_2.adoc
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/main/asciidoc/keepControl/keepControl_2.adoc b/wicket-user-guide/src/main/asciidoc/keepControl/keepControl_2.adoc
new file mode 100644
index 0000000..975614d
--- /dev/null
+++ b/wicket-user-guide/src/main/asciidoc/keepControl/keepControl_2.adoc
@@ -0,0 +1,37 @@
+
+To modify tag attributes we can use class _org.apache.wicket.AttributeModifier_. This class extends _org.apache.wicket.behavior.Behavior_ and can be added to any component via the _Component_'s _add_ method. Class _Behavior_ is used to expand component functionalities and it can also modify component markup. We will see this class in detail later in <<advanced.adoc#_enriching_components_with_behaviors,chapter 19.1>>.
+
+As first example of attribute manipulation let's consider a _Label_ component bound to the following markup:
+
+[source,html]
+----
+<span wicket:id="simpleLabel"></span>
+----
+
+Suppose we want to add some style to label content making it red and bolded. We can add to the label an _AttributeModifier_ which creates the tag attribute _style_ with value _ :[color:red;font-weight:bold] 
+[source,java]
+----
+label.add(new AttributeModifier("style", "color:red;font-weight:bold"));
+----
+
+If attribute _style_ already exists in the original markup, it will be replaced with the value specified by _AttributeModifier_. If we don't want to overwrite the existing value of an attribute we can use subclass _AttributeAppender_ which will append its value to the existing one:
+
+[source,java]
+----
+label.add(new AttributeAppender("style", "color:red;font-weight:bold"));
+----
+
+We can also create attribute modifiers using factory methods provided by class _AttributeModifier_ and it's also possible to prepend a given value to an existing attribute:
+
+[source,java]
+----
+//replaces existing value with the given one
+label.add(AttributeModifier.replace("style", "color:red;font-weight:bold"));
+
+//appends the given value to the existing one
+label.add(AttributeModifier.append("style", "color:red;font-weight:bold"));
+
+//prepends the given value to the existing one
+label.add(AttributeModifier.prepend("style", "color:red;font-weight:bold"));
+----
+

http://git-wip-us.apache.org/repos/asf/wicket/blob/7eba9998/wicket-user-guide/src/main/asciidoc/keepControl/keepControl_3.adoc
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/main/asciidoc/keepControl/keepControl_3.adoc b/wicket-user-guide/src/main/asciidoc/keepControl/keepControl_3.adoc
new file mode 100644
index 0000000..a6e7146
--- /dev/null
+++ b/wicket-user-guide/src/main/asciidoc/keepControl/keepControl_3.adoc
@@ -0,0 +1,17 @@
+
+Tag attribute _id_ plays a crucial role in web development as it allows JavaScript to identify a DOM element. That's why class _Component_ provides two dedicated methods to set this attribute. With method _setOutputMarkupId(boolean output)_ we can decide if the _id_ attribute will be rendered or not in the final markup (by default is not rendered). The value of this attribute will be automatically generated by Wicket and it will be unique for the entire page. 
+If we need to specify this value by hand, we can use method _setMarkupId(String id)_. The value of the id can be retrieved with method _getMarkupId()_.
+
+Wicket generates markup ids using an instance of interface _org.apache.wicket.IMarkupIdGenerator_. The default implementation is _org.apache.wicket.DefaultMarkupIdGenerator_ and it uses a session-scoped counter to generate the final id. A different generator can be set with the markup settings class _org.apache.wicket.settings.MarkupSettings_ available in the application class:
+
+[source,java]
+----
+@Override
+public void init()
+{
+	super.init();
+	//wrap disabled links with <b> tag
+	getMarkupSettings().setMarkupIdGenerator(myGenerator);		
+}
+----
+

http://git-wip-us.apache.org/repos/asf/wicket/blob/7eba9998/wicket-user-guide/src/main/asciidoc/keepControl/keepControl_4.adoc
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/main/asciidoc/keepControl/keepControl_4.adoc b/wicket-user-guide/src/main/asciidoc/keepControl/keepControl_4.adoc
new file mode 100644
index 0000000..422c68c
--- /dev/null
+++ b/wicket-user-guide/src/main/asciidoc/keepControl/keepControl_4.adoc
@@ -0,0 +1,29 @@
+
+Create custom panels is a great way to handle complex user interfaces. However, sometimes we may need to create a panel which is used only by a specific page and only for a specific task. 
+
+In situations like these component _org.apache.wicket.markup.html.WebMarkupContainer_ is better suited than custom panels because it can be directly attached to a tag in the parent markup without needing a corresponding html file (hence it is less reusable). Let's consider for example the main page of a mail service where users can see a list of received mails. Suppose that this page shows a notification box where user can see if new messages have arrived. This box must be hidden if there are no messages to display and it would be nice if we could handle it as if it was a Wicket component.
+
+Suppose also that this information box is a _<div>_ tag like this inside the page:
+
+[source,html]
+----
+<div wicket:id="informationBox">
+   //here's the body
+   You've got <span wicket:id="messagesNumber"></span> new messages.
+</div>
+----
+
+Under those conditions we can consider using a _WebMarkupContainer_ component rather than implementing a new panel. The code needed to handle the information box inside the page could be the following:
+
+[source,java]
+----
+//Page initialization code
+WebMarkupContainer informationBox = new WebMarkupContainer ("informationBox");
+informationBox.add(new Label("messagesNumber", messagesNumber));
+add(informationBox);
+
+//If there are no new messages, hide informationBox
+informationBox.setVisible(false);
+----
+
+As you can see in the snippet above we can handle our information box from Java code as we do with any other Wicket component.

http://git-wip-us.apache.org/repos/asf/wicket/blob/7eba9998/wicket-user-guide/src/main/asciidoc/keepControl/keepControl_5.adoc
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/main/asciidoc/keepControl/keepControl_5.adoc b/wicket-user-guide/src/main/asciidoc/keepControl/keepControl_5.adoc
new file mode 100644
index 0000000..dd78fc9
--- /dev/null
+++ b/wicket-user-guide/src/main/asciidoc/keepControl/keepControl_5.adoc
@@ -0,0 +1,64 @@
+
+Another circumstance in which we may prefer to avoid the creation of custom panels is when we want to conditionally display in a page small fragments of markup. In this case if we decided to use panels, we would end up having a huge number of small panel classes with their related markup file.
+
+To better cope with situations like this, Wicket defines component _Fragment_ in package _org.apache.wicket.markup.html.panel_. Just like its parent component _WebMarkupContainer_, Fragment doesn't have its own markup file but it uses a markup fragment defined in the markup file of its parent container, which can be a page or a panel. The fragment must be delimited with tag _<wicket:fragment>_ and must be identified by a _wicket:id_ attribute. In addition to the component id, _Fragment_'s constructor takes as input also the id of the fragment and a reference to its container.
+
+In the following  example we have defined a fragment in a page and we used it as content area:
+
+*Page markup:*
+
+[source,html]
+----
+<html>
+  ...
+<body>
+...
+	<div wicket:id="contentArea"></div>
+	<wicket:fragment wicket:id="fragmentId">
+	   <!-- Fragment markup goes here -->
+	</wicket:fragment>
+</body>
+</html>
+----
+
+*Java code:*
+
+[source,java]
+----
+Fragment fragment = new  Fragment ("contentArea", "fragmentId", this);
+add(fragment);
+----
+
+Fragments can be very helpful with complex pages or components. For example let's say that we  have a page where users can register to our forum. This page should first display a form where user must insert his/her personal data (name, username, password, email and so on), then, once the user has submitted the form, the page should display a message like \u201cYour registration is complete! Please check your mail to activate your user profile.\u201d. 
+
+Instead of displaying this message with a new component or in a new page, we can define two fragments: one for the initial form and one to display the confirmation message. The second fragment will replace the first one after the form has been submitted:
+
+*Page markup:*
+
+[source,html]
+----
+<html>
+<body>
+	<div wicket:id="contentArea"></div>
+	<wicket:fragment wicket:id="formFrag">
+	   <!-- Form markup goes here -->
+	</wicket:fragment>
+	<wicket:fragment wicket:id="messageFrag">
+	   <!-- Message markup goes here -->
+	</wicket:fragment>
+</body>
+</html>
+----
+
+*Java code:*
+
+[source,java]
+----
+Fragment fragment = new  Fragment ("contentArea", "formFrag", this);
+add(fragment);
+
+//form has been submitted
+Fragment fragment = new  Fragment ("contentArea", "messageFrag", this);
+replace(fragment);
+----
+

http://git-wip-us.apache.org/repos/asf/wicket/blob/7eba9998/wicket-user-guide/src/main/asciidoc/keepControl/keepControl_6.adoc
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/main/asciidoc/keepControl/keepControl_6.adoc b/wicket-user-guide/src/main/asciidoc/keepControl/keepControl_6.adoc
new file mode 100644
index 0000000..dc6bde0
--- /dev/null
+++ b/wicket-user-guide/src/main/asciidoc/keepControl/keepControl_6.adoc
@@ -0,0 +1,36 @@
+
+Panel's markup can also contain HTML tags which must go inside header section of the final page, like tags _<script>_ or _<style>_. To tell Wicket to put these tags inside page _<head>_, we must surround them with the _<wicket:head>_ tag.
+
+Considering the markup of a generic panel, we can use _<wicket:head>_ tag in this way:
+
+[source,html]
+----
+<wicket:head>
+	<script type="text/javascript">
+	  	function myPanelFunction(){
+	  	}
+	  </script>
+	
+	<style>
+        .myPanelClass{
+	  	font-weight: bold;
+	  	color: red;
+	  }	 
+       </style>
+</wicket:head>
+<body>
+	<wicket:panel>
+
+	</wicket:panel>
+</body>	
+----
+
+Wicket will take care of placing the content of _<wicket:head>_ inside the _<head>_ tag of the final page.
+
+NOTE: The _<wicket:head>_ tag can also be used with children pages/panels which extend parent markup using tag _<wicket:extend>_.
+
+NOTE: The content of the _<wicket:head>_ tag is added to the header section once per component class. In other words, if we add multiple instances of the same panel to a page, the _<head>_ tag will be populated just once with the content of _<wicket:head>_.
+
+WARNING: The _<wicket:head>_ tag is ideal if we want to define small in-line blocks of CSS or JavaScript. However Wicket provides also a more sophisticated technique to let components contribute to header section with in-line blocks and resource files like CSS or JavaScript files. We will see this technique later in 
+<<_resource_management_with_wicket,chapter 16>>.
+

http://git-wip-us.apache.org/repos/asf/wicket/blob/7eba9998/wicket-user-guide/src/main/asciidoc/keepControl/keepControl_7.adoc
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/main/asciidoc/keepControl/keepControl_7.adoc b/wicket-user-guide/src/main/asciidoc/keepControl/keepControl_7.adoc
new file mode 100644
index 0000000..77ff794
--- /dev/null
+++ b/wicket-user-guide/src/main/asciidoc/keepControl/keepControl_7.adoc
@@ -0,0 +1,17 @@
+
+Wicket's _<wicket:remove>_ tag can be very useful when our web designer needs to show us how a page or a panel should look like. The markup inside this tag will be stripped out in the final page, so it's the ideal place for web designers to put their stub markup:
+
+[source,html]
+----
+<html>
+<head>
+
+</head>
+<body>
+	<wicket:remove>
+	   <!-- Stub markup goes here -->
+	</wicket:remove>
+</body>
+</html>
+----
+

http://git-wip-us.apache.org/repos/asf/wicket/blob/7eba9998/wicket-user-guide/src/main/asciidoc/keepControl/keepControl_8.adoc
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/main/asciidoc/keepControl/keepControl_8.adoc b/wicket-user-guide/src/main/asciidoc/keepControl/keepControl_8.adoc
new file mode 100644
index 0000000..059fab5
--- /dev/null
+++ b/wicket-user-guide/src/main/asciidoc/keepControl/keepControl_8.adoc
@@ -0,0 +1,43 @@
+
+When we bind a component to its corresponding tag we can choose to get rid of this outer tag in the final markup. If we call method _setRenderBodyOnly(true)_ on a component Wicket will remove the surrounding tag.
+
+For example given the following markup and code:
+
+*HTML markup:*
+
+[source,html]
+----
+<html>
+<head>
+  <title>Hello world page</title>
+</head>
+<body>
+<div wicket:id="helloWorld">[helloWorld]</div>
+</body>
+</html>
+----
+
+*Java code:*
+
+[source,java]
+----
+Label label = new Label("helloWorld", \u201cHello World!\u201d);
+label.setRenderBodyOnly(true);
+add(label);
+----
+
+the output will be:
+
+[source,html]
+----
+<html>
+<head>
+  <title>Hello world page</title>
+</head>
+<body>
+ Hello World!
+</body>
+</html>
+----
+
+As you can see the _<div>_ tag used for component _Label_ is not present in the final markup.

http://git-wip-us.apache.org/repos/asf/wicket/blob/7eba9998/wicket-user-guide/src/main/asciidoc/keepControl/keepControl_9.adoc
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/main/asciidoc/keepControl/keepControl_9.adoc b/wicket-user-guide/src/main/asciidoc/keepControl/keepControl_9.adoc
new file mode 100644
index 0000000..3a25f22
--- /dev/null
+++ b/wicket-user-guide/src/main/asciidoc/keepControl/keepControl_9.adoc
@@ -0,0 +1,39 @@
+
+Our data are rarely displayed alone without a caption or other graphic elements that make clear the meaning of their value. For example:
+
+[source,html]
+----
+<label>Total amount: </label><span wicket:id="totalAmount"></span>
+----
+
+Wicket comes with a nice utility tag called _<wicket:enclosure>_ that automatically hides those decorating elements if the related data value is not visible. All we have to do is to put the involved markup inside this tag. Applying _<wicket:enclosure>_ to the previous example we get the following markup:
+
+[source,html]
+----
+<wicket:enclosure> 
+    <label>Total amount: </label><span wicket:id="totalAmount"></span>
+</wicket:enclosure>
+----
+
+Now if component _totalAmount_ is not visible, its description (_Total amount:_) will be automatically hidden. If we have more than a Wicket component inside _<wicket:enclosure>_ we can use _child_ attribute to specify which component will control the overall visibility:
+
+[source,html]
+----
+<wicket:enclosure child="totalAmount"> 
+    <label>Total amount: </label><span wicket:id="totalAmount"></span><br/>
+	<label>Expected delivery date: </label><span wicket:id="delivDate"></span>
+</wicket:enclosure>
+----
+
+_child_ attribute supports also nested components with a colon-separated path: 
+
+[source,html]
+----
+<wicket:enclosure child="totalAmountContainer:totalAmount"> 
+    <div wicket:id="totalAmountContainer">
+		<label>Total amount: </label><span wicket:id="totalAmount"></span>
+    </div>
+    <label>Expected delivery date: </label><span wicket:id="delivDate"></span>
+</wicket:enclosure>
+----
+

http://git-wip-us.apache.org/repos/asf/wicket/blob/7eba9998/wicket-user-guide/src/main/asciidoc/layout.adoc
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/main/asciidoc/layout.adoc b/wicket-user-guide/src/main/asciidoc/layout.adoc
new file mode 100644
index 0000000..1fd01bd
--- /dev/null
+++ b/wicket-user-guide/src/main/asciidoc/layout.adoc
@@ -0,0 +1,3 @@
+
+Before going ahead with more advanced topics, we will see how to maintain a consistent layout across our site using Wicket and its component-oriented features. Probably this is not the most interesting use we can get out of Wicket, but it is surely the simplest one so it's the best way to get our hands dirty with some code.
+

http://git-wip-us.apache.org/repos/asf/wicket/blob/7eba9998/wicket-user-guide/src/main/asciidoc/layout/layout_1.adoc
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/main/asciidoc/layout/layout_1.adoc b/wicket-user-guide/src/main/asciidoc/layout/layout_1.adoc
new file mode 100644
index 0000000..4ab4e53
--- /dev/null
+++ b/wicket-user-guide/src/main/asciidoc/layout/layout_1.adoc
@@ -0,0 +1,27 @@
+
+There was a time in the 90s when Internet was just a buzzword and watching a plain HTML page being rendered by a browser was a new and amazing experience. In those days we used to organize our page layout using the _<frame>_ HTML tag. Over the years this tag has almost disappeared from our code and it survives only in few specific domains. For example is still being used by JavaDoc.
+
+With the adoption of server side technologies like JSP, ASP or PHP the tag _<frame>_ has been replaced by a template-based approach where we divide our page layout into some common areas that will be present in each page of our web application. Then, we manually insert these areas in every page including the appropriate markup fragments.
+
+In this chapter we will see how to use Wicket to build a site layout. The sample layout we will use is a typical page layout consisting of the following areas:
+
+* *a header* which could contain site title, some logos, a navigation bar, etc...  
+* *a left* menu with a bunch of links to different areas/functionalities of the site. 
+* *a footer* with generic informations like web master's email, the company address, etc...
+* *a content* area which usually contains the functional part of the page.
+
+The following picture summarises the layout structure:
+
+image::../img/layout.png[]
+
+Once we have chosen a page layout, our web designer can start building up the site theme. The result is a beautiful mock of our future web pages. Over this mock we can map the original layout areas:
+
+image::../img/layout-mock.png[]
+
+Now in order to have a consistent layout across all the site, we must ensure that each page will include the layout areas seen above. With an old template-based approach we must manually put them inside every page. If we were using JSP we would probably end up using _include_ directive to add layout areas in our pages. We would have one _include_ for each of the areas (except for the content):
+
+image::../img/layout-include.png[]
+
+NOTE: For the sake of simplicity we can consider each included area as a static HTML fragment.
+
+Now let's see how we can handle the layout of our web application using Wicket.