WICKET-5890 Fixed cross references

Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/8929074f
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/8929074f
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/8929074f

Branch: refs/heads/master
Commit: 8929074fff6ea7bde8bcade1fe5bcb48271d83ca
Parents: 0c089b4
Author: Andrea Del Bene <[email protected]>
Authored: Mon Apr 27 18:33:55 2015 +0200
Committer: Andrea Del Bene <[email protected]>
Committed: Mon Apr 27 22:13:48 2015 +0200

----------------------------------------------------------------------
 .../src/docs/guide/advanced/advanced_1.gdoc       |  2 +-
 wicket-user-guide/src/docs/guide/ajax/ajax_1.gdoc |  4 ++--
 wicket-user-guide/src/docs/guide/ajax/ajax_2.gdoc |  4 ++--
 wicket-user-guide/src/docs/guide/ajax/ajax_5.gdoc |  2 +-
 wicket-user-guide/src/docs/guide/ajax/ajax_6.gdoc |  2 +-
 .../src/docs/guide/contributing.gdoc              |  2 +-
 wicket-user-guide/src/docs/guide/forms2.gdoc      |  4 ++--
 .../src/docs/guide/forms2/forms2_1.gdoc           |  4 ++--
 .../src/docs/guide/forms2/forms2_10.gdoc          |  4 ++--
 .../src/docs/guide/forms2/forms2_11.gdoc          |  6 +++---
 .../src/docs/guide/forms2/forms2_2.gdoc           | 12 ++++++------
 .../src/docs/guide/forms2/forms2_3.gdoc           |  4 ++--
 .../src/docs/guide/forms2/forms2_9.gdoc           |  6 +++---
 wicket-user-guide/src/docs/guide/i18n.gdoc        |  2 +-
 wicket-user-guide/src/docs/guide/i18n/i18n_1.gdoc |  4 ++--
 wicket-user-guide/src/docs/guide/i18n/i18n_2.gdoc |  6 +++---
 wicket-user-guide/src/docs/guide/i18n/i18n_3.gdoc |  4 ++--
 wicket-user-guide/src/docs/guide/i18n/i18n_4.gdoc |  6 +++---
 wicket-user-guide/src/docs/guide/i18n/i18n_5.gdoc |  4 ++--
 .../src/docs/guide/internals/pagestoring.gdoc     | 18 +++++++++++++++++-
 wicket-user-guide/src/docs/guide/jee/jee_3.gdoc   |  5 +++--
 .../docs/guide/jsintegration/jsintegration_2.gdoc |  4 ++--
 .../src/docs/guide/maven/maven_1.gdoc             | 12 +++++++++---
 .../src/docs/guide/maven/maven_2.gdoc             |  6 +++---
 .../src/docs/guide/modelsforms/modelsforms_1.gdoc |  4 ++--
 .../src/docs/guide/repeaters/repeaters_4.gdoc     |  2 +-
 .../requestProcessing/requestProcessing_3.gdoc    |  6 +++---
 .../requestProcessing/requestProcessing_4.gdoc    |  2 +-
 .../requestProcessing/requestProcessing_6.gdoc    |  2 +-
 wicket-user-guide/src/docs/guide/resources.gdoc   |  4 ++--
 .../src/docs/guide/resources/resources_1.gdoc     |  2 +-
 .../src/docs/guide/resources/resources_10.gdoc    |  4 ++--
 .../src/docs/guide/resources/resources_11.gdoc    |  4 ++--
 .../src/docs/guide/resources/resources_3.gdoc     |  4 ++--
 .../src/docs/guide/resources/resources_4.gdoc     |  2 +-
 .../src/docs/guide/security/security_2.gdoc       |  6 +++---
 .../src/docs/guide/security/security_3.gdoc       |  2 +-
 .../src/docs/guide/testing/testing_1.gdoc         |  2 +-
 wicket-user-guide/src/docs/guide/urls.gdoc        |  2 +-
 wicket-user-guide/src/docs/guide/urls/urls_6.gdoc | 10 +++++-----
 .../versioningCaching/versioningCaching_2.gdoc    |  6 +++---
 .../versioningCaching/versioningCaching_3.gdoc    |  4 ++--
 .../versioningCaching/versioningCaching_4.gdoc    |  2 +-
 .../src/docs/guide/wicketstuff/wicketstuff_5.gdoc |  2 +-
 44 files changed, 111 insertions(+), 88 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/8929074f/wicket-user-guide/src/docs/guide/advanced/advanced_1.gdoc
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/docs/guide/advanced/advanced_1.gdoc 
b/wicket-user-guide/src/docs/guide/advanced/advanced_1.gdoc
index bde225a..ac01cf8 100644
--- a/wicket-user-guide/src/docs/guide/advanced/advanced_1.gdoc
+++ b/wicket-user-guide/src/docs/guide/advanced/advanced_1.gdoc
@@ -29,7 +29,7 @@ public class RedAsteriskBehavior extends Behavior {
       Response response = component.getResponse();
       StringBuffer asterisktHtml = new StringBuffer(200);
       
-      if(componet instanceof FormComponent 
+      if(component instanceof FormComponent 
             && ((FormComponent)component).isRequired()){
         asteriskHtml.append(" <b style=\"color:red;font-size:medium\">*</b>");
       }  

http://git-wip-us.apache.org/repos/asf/wicket/blob/8929074f/wicket-user-guide/src/docs/guide/ajax/ajax_1.gdoc
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/docs/guide/ajax/ajax_1.gdoc 
b/wicket-user-guide/src/docs/guide/ajax/ajax_1.gdoc
index fcd54fe..5f1ccf5 100644
--- a/wicket-user-guide/src/docs/guide/ajax/ajax_1.gdoc
+++ b/wicket-user-guide/src/docs/guide/ajax/ajax_1.gdoc
@@ -28,7 +28,7 @@ new AjaxLink("ajaxLink"){
 };
 {code}
 
-Components can be refreshed via Ajax only if they have rendered a markup id 
for their related tag. As a consequence, we must remember to set a valid id 
value on every component we want to add to @AjaxRequestTarget@. This can be 
done using one of the two methods seen in paragraph 4.3:
+Components can be refreshed via Ajax only if they have rendered a markup id 
for their related tag. As a consequence, we must remember to set a valid id 
value on every component we want to add to @AjaxRequestTarget@. This can be 
done using one of the two methods seen in [paragraph 6.3|guide:keepControl_3]:
 
 {code}
 final Label label = new Label("labelComponent", "Initial value.");
@@ -61,4 +61,4 @@ new AjaxLink("ajaxLink"){
 Repeaters component that have 
@org.apache.wicket.markup.repeater.AbstractRepeater@ as base class (like 
@ListView@, @RepeatingView@, etc...) can not be directly updated via AJAX.
 
 If we want to refresh their markup via AJAX we must add one of their parent 
containers to the @AjaxRequestTarget@.
-{warning}
\ No newline at end of file
+{warning}

http://git-wip-us.apache.org/repos/asf/wicket/blob/8929074f/wicket-user-guide/src/docs/guide/ajax/ajax_2.gdoc
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/docs/guide/ajax/ajax_2.gdoc 
b/wicket-user-guide/src/docs/guide/ajax/ajax_2.gdoc
index 7dc9cdc..755fbbf 100644
--- a/wicket-user-guide/src/docs/guide/ajax/ajax_2.gdoc
+++ b/wicket-user-guide/src/docs/guide/ajax/ajax_2.gdoc
@@ -2,7 +2,7 @@
 
 Wicket distribution comes with a number of built-in AJAX components ready to 
be used. Some of them are the ajaxified version of common components like links 
and buttons, while others are AJAX-specific components. 
 
-AJAX components are not different from any other component seen so far and 
they don't require any additional configuration to be used. As we will shortly 
see, switching from a classic link or button to the ajaxified version is just a 
matter of appending “Ajax” to the component class name.
+AJAX components are not different from any other component seen so far and 
they don't require any additional configuration to be used. As we will shortly 
see, switching from a classic link or button to the ajaxified version is just a 
matter of prepending “Ajax” to the component class name.
 
 This paragraph provides an overview of what we can find in Wicket to start 
writing AJAX-enhanced web applications.
 
@@ -18,7 +18,7 @@ Building an entire site using AJAX can be risky as some 
clients may not support
 
 h3. AJAX Checkbox
 
-Class @org.apache.wicket.ajax.markup.html.form.AjaxCheckBox@ is a checkbox 
component that updates its model via AJAX when user changes its value. Its AJAX 
callback method is @onUpdate(AjaxRequestTarget target)@. The component extends 
standard checkbox component @CheckBox@ adding an 
@AjaxFormComponentUpdatingBehavior@ to itself (we will see this behavior later 
in paragraph 16.3.3).
+Class @org.apache.wicket.ajax.markup.html.form.AjaxCheckBox@ is a checkbox 
component that updates its model via AJAX when user changes its value. Its AJAX 
callback method is @onUpdate(AjaxRequestTarget target)@. The component extends 
standard checkbox component @CheckBox@ adding an 
@AjaxFormComponentUpdatingBehavior@ to itself (we will see this behavior later 
in [paragraph 18.3.3|guide:ajax_3]).
 
 h3. AJAX editable labels
 

http://git-wip-us.apache.org/repos/asf/wicket/blob/8929074f/wicket-user-guide/src/docs/guide/ajax/ajax_5.gdoc
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/docs/guide/ajax/ajax_5.gdoc 
b/wicket-user-guide/src/docs/guide/ajax/ajax_5.gdoc
index 9729808..5f4a145 100644
--- a/wicket-user-guide/src/docs/guide/ajax/ajax_5.gdoc
+++ b/wicket-user-guide/src/docs/guide/ajax/ajax_5.gdoc
@@ -19,7 +19,7 @@ bh, pre, bsh, ah, sh, fh, coh | This is a list of the 
listeners that are execute
 {table}
 
 {note}
-A full list of the available request parameters as well as more details on the 
related JavaScript code can be found at "https://cwiki.apache.org/confluence/ 
display/WICKET/Wicket+Ajax":https://cwiki.apache.org/confluence/ 
display/WICKET/Wicket+Ajax .
+A full list of the available request parameters as well as more details on the 
related JavaScript code can be found at 
"https://cwiki.apache.org/confluence/display/WICKET/Wicket+Ajax":https://cwiki.apache.org/confluence/display/WICKET/Wicket+Ajax
 .
 {note}
 
 Parameters 'u' (callback URL) and 'c' (the id of the component) are generated 
by the AJAX behavior that will serve the AJAX call and they are not accessible 
through @AjaxRequestAttributes@.

http://git-wip-us.apache.org/repos/asf/wicket/blob/8929074f/wicket-user-guide/src/docs/guide/ajax/ajax_6.gdoc
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/docs/guide/ajax/ajax_6.gdoc 
b/wicket-user-guide/src/docs/guide/ajax/ajax_6.gdoc
index 399399b..1ca5e55 100644
--- a/wicket-user-guide/src/docs/guide/ajax/ajax_6.gdoc
+++ b/wicket-user-guide/src/docs/guide/ajax/ajax_6.gdoc
@@ -152,7 +152,7 @@ Global AJAX call events are handled with JavaScript. We can 
register a callback
 
 The callback function takes in input the following parameters:  attrs, jqXHR, 
textStatus, jqEvent and errorThrown. The first three parameters are the same 
seen before with @IAjaxCallListener@ while jqEvent is an event internally fired 
by Wicket. The last parameter errorThrown indicates if an error has occurred 
during the AJAX call. 
 
-To see a basic example of use of a global AJAX call listener, let's go back to 
our custom datepicker created in chapter 14. When we built it we didn't think 
about a possible use of the component with AJAX.  When a complex component like 
our datepicker is refreshed via AJAX, the following two side effects can occur: 
+To see a basic example of use of a global AJAX call listener, let's go back to 
our custom datepicker created in [chapter 16|guide:jsintegration]. When we 
built it we didn't think about a possible use of the component with AJAX.  When 
a complex component like our datepicker is refreshed via AJAX, the following 
two side effects can occur: 
 
 * After been refreshed, the component loses every JavaScript handler set on 
it. This is not a problem for our datepicker as it sets a new JQuery datepicker 
every time is rendered (inside method renderHead).
 * The markup previously created with JavaScript is not removed. For our 
datepicker this means that the icon used to open the calendar won't be removed 
while a new one will be added each time the component is refreshed.

http://git-wip-us.apache.org/repos/asf/wicket/blob/8929074f/wicket-user-guide/src/docs/guide/contributing.gdoc
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/docs/guide/contributing.gdoc 
b/wicket-user-guide/src/docs/guide/contributing.gdoc
index 8ea93af..52a3b62 100644
--- a/wicket-user-guide/src/docs/guide/contributing.gdoc
+++ b/wicket-user-guide/src/docs/guide/contributing.gdoc
@@ -20,4 +20,4 @@ git clone https://github.com/apache/wicket.git
 
 * *Commit and push the changes* to your forked Apacke Wicket's GIT repository 
and *create a pull request* on github
 
-*Thank you!*
\ No newline at end of file
+*Thank you!*

http://git-wip-us.apache.org/repos/asf/wicket/blob/8929074f/wicket-user-guide/src/docs/guide/forms2.gdoc
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/docs/guide/forms2.gdoc 
b/wicket-user-guide/src/docs/guide/forms2.gdoc
index 138cab5..098174d 100644
--- a/wicket-user-guide/src/docs/guide/forms2.gdoc
+++ b/wicket-user-guide/src/docs/guide/forms2.gdoc
@@ -1,5 +1,5 @@
 In the previous chapter we have only scratched the surface of Wicket forms. 
The Form component was not only designed to collect user input but also to 
extend the semantic of the classic HTML forms with new features. 
 
-One of such features is the ability to work with nested forms (they will be 
discussed in paragraph 10.5).
+One of such features is the ability to work with nested forms (they will be 
discussed in [paragraph 12.6|guide:forms2_6]).
 
-In this chapter we will continue to explore Wicket forms learning how to 
master them and how to build effective and user-proof forms for our web 
applications.
\ No newline at end of file
+In this chapter we will continue to explore Wicket forms learning how to 
master them and how to build effective and user-proof forms for our web 
applications.

http://git-wip-us.apache.org/repos/asf/wicket/blob/8929074f/wicket-user-guide/src/docs/guide/forms2/forms2_1.gdoc
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/docs/guide/forms2/forms2_1.gdoc 
b/wicket-user-guide/src/docs/guide/forms2/forms2_1.gdoc
index 5920070..48776c5 100644
--- a/wicket-user-guide/src/docs/guide/forms2/forms2_1.gdoc
+++ b/wicket-user-guide/src/docs/guide/forms2/forms2_1.gdoc
@@ -1,6 +1,6 @@
 
 
-In paragraph 9.3 we have seen a very basic usage of the Form component and we 
didn't pay much attention to what happens behind the scenes of form submission. 
In Wicket when we submit a form we trigger the following steps on server side:
+In [paragraph 11.3|guide:modelsforms_3] we have seen a very basic usage of the 
Form component and we didn't pay much attention to what happens behind the 
scenes of form submission. In Wicket when we submit a form we trigger the 
following steps on server side:
 
 # Form validation: user input is checked to see if it satisfies the validation 
rules set on the form. If validation fails, step number 2 is skipped and the 
form should display a feedback message to explain to user what went wrong. 
During this step input values (which are simple strings sent with a web 
request) are converted into Java objects. In the next paragraphs we will 
explore the infrastructures provided by Wicket for the three sub-tasks involved 
with form validation, which are: conversion of user input into objects, 
validation of user input, and visualization of feedback messages.
 # Updating of models: if validation succeeds, the form updates the model of 
its children components with the converted values obtained in the previous step.
@@ -12,4 +12,4 @@ Please note that the model of form components is updated only 
if no validation e
 
 Without going into too much detail, we can say that the first two steps of 
form processing correspond to the invocation of one or more Form's internal 
methods (which are declared protected and final). Some examples of these 
methods are validate(), which is invoked during validation step, and 
updateFormComponentModels(), which is used at the step that updates the form 
field models.
 
-The whole form processing is started invoking public method 
process(IFormSubmitter) (Later in paragraph 10.4 we will introduce interface 
IFormSubmitter). 
\ No newline at end of file
+The whole form processing is started invoking public method 
process(IFormSubmitter) (Later in [paragraph 12.5|guide:forms2_5] we will 
introduce interface IFormSubmitter). 

http://git-wip-us.apache.org/repos/asf/wicket/blob/8929074f/wicket-user-guide/src/docs/guide/forms2/forms2_10.gdoc
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/docs/guide/forms2/forms2_10.gdoc 
b/wicket-user-guide/src/docs/guide/forms2/forms2_10.gdoc
index 0de6193..53d18e1 100644
--- a/wicket-user-guide/src/docs/guide/forms2/forms2_10.gdoc
+++ b/wicket-user-guide/src/docs/guide/forms2/forms2_10.gdoc
@@ -1,6 +1,6 @@
 
 
-In chapter 6 we have seen how Wicket pages can be divided into two categories: 
stateful and stateless. Pages that are stateless don't need to be stored in the 
user session and they should be used  when we don't need to save any user data 
in the user session (for example in the public area of a site).
+In [chapter 8|guide:versioningCaching] we have seen how Wicket pages can be 
divided into two categories: stateful and stateless. Pages that are stateless 
don't need to be stored in the user session and they should be used  when we 
don't need to save any user data in the user session (for example in the public 
area of a site).
 
 Besides saving resources on server-side, stateless pages can be adopted to 
improve user experience and to avoid security weaknesses. A typical situation 
where a stateless page can bring these benefits is when we have to implement a 
login page. 
 
@@ -75,4 +75,4 @@ public class HomePage extends WebPage {
 }
 {code}
 
-Label sessionType shows if current session is temporary or not and is set 
inside onBeforeRender(): if our page is really stateless the session will be 
always temporary. We have also inserted a feedback panel in the home page that 
shows if the credentials are correct. This was done to make the example form 
more interactive.
\ No newline at end of file
+Label sessionType shows if current session is temporary or not and is set 
inside onBeforeRender(): if our page is really stateless the session will be 
always temporary. We have also inserted a feedback panel in the home page that 
shows if the credentials are correct. This was done to make the example form 
more interactive.

http://git-wip-us.apache.org/repos/asf/wicket/blob/8929074f/wicket-user-guide/src/docs/guide/forms2/forms2_11.gdoc
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/docs/guide/forms2/forms2_11.gdoc 
b/wicket-user-guide/src/docs/guide/forms2/forms2_11.gdoc
index 664b54c..fa656f6 100644
--- a/wicket-user-guide/src/docs/guide/forms2/forms2_11.gdoc
+++ b/wicket-user-guide/src/docs/guide/forms2/forms2_11.gdoc
@@ -4,7 +4,7 @@ In this paragraph we will see which components can be used to 
handle HTML radio
 
 !choice-form-screenshot.png!
 
-A check box can be used as single component to set a boolean property. For 
this purpose Wicket provides the @org.apache.wicket.markup.html.form.CheckBox@ 
component which must be attached to <input type="checkbox".../> tag. In the 
next example (project SingleCheckBox) we will consider a form similar to the 
one used in paragraph 9.5 to edit a Person object, but with an additional 
checkbox to let the user decide if she wants to subscribe to our mailing list 
or not. The form uses the following bean as backing object:
+A check box can be used as single component to set a boolean property. For 
this purpose Wicket provides the @org.apache.wicket.markup.html.form.CheckBox@ 
component which must be attached to <input type="checkbox".../> tag. In the 
next example (project SingleCheckBox) we will consider a form similar to the 
one used in [paragraph 11.5|guide:modelsforms_5] to edit a Person object, but 
with an additional checkbox to let the user decide if she wants to subscribe to 
our mailing list or not. The form uses the following bean as backing object:
 
 {code}
 public class RegistrationInfo implements Serializable {
@@ -113,7 +113,7 @@ This component can be attached to a <div> tag or to a 
<span> tag. No specific co
 
 By default CheckBoxMultipleChoice inserts a <br/> tag as suffix after each 
option. We can configure both the suffix and the prefix used by the component 
with the setPrefix and setSuffix methods.
 
-When our options are more complex objects than simple strings, we can render 
them using an IChoiceRender, as we did for DropDownChoice in paragraph 9.4:
+When our options are more complex objects than simple strings, we can render 
them using an IChoiceRender, as we did for DropDownChoice in [paragraph 
11.5|guide:modelsforms_5]:
 
 *HTML:*
 
@@ -184,4 +184,4 @@ form.add(new RadioChoice("radioGroup", Model.of(""), 
fruits));
 
 !grouped-radiobutton.png!
 
-Just like CheckBoxMultipleChoice, this component provides the setPrefix and 
setSuffix methods to configure the prefix and suffix for our options and it 
supports IChoiceRender as well. In addition, RadioChoice provides the 
wantOnSelectionChangedNotifications() method to notify the web server when the 
selected option changes (this is the same method seen for DropDownChoice in 
paragraph 9.4).
\ No newline at end of file
+Just like CheckBoxMultipleChoice, this component provides the setPrefix and 
setSuffix methods to configure the prefix and suffix for our options and it 
supports IChoiceRender as well. In addition, RadioChoice provides the 
wantOnSelectionChangedNotifications() method to notify the web server when the 
selected option changes (this is the same method seen for DropDownChoice in 
paragraph 9.4).

http://git-wip-us.apache.org/repos/asf/wicket/blob/8929074f/wicket-user-guide/src/docs/guide/forms2/forms2_2.gdoc
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/docs/guide/forms2/forms2_2.gdoc 
b/wicket-user-guide/src/docs/guide/forms2/forms2_2.gdoc
index 2e9ea33..ec55703 100644
--- a/wicket-user-guide/src/docs/guide/forms2/forms2_2.gdoc
+++ b/wicket-user-guide/src/docs/guide/forms2/forms2_2.gdoc
@@ -1,6 +1,6 @@
 
 
-A basic example of a validation rule is to make a field required. In paragraph 
9.3.2 we have already seen how this can be done calling setRequired(true) on a 
field. However, to set a validation rule on a FormComponent we must add the 
corresponding validator to it.
+A basic example of a validation rule is to make a field required. In 
[paragraph 11.3|guide:modelsforms_3] we have already seen how this can be done 
calling setRequired(true) on a field. However, to set a validation rule on a 
FormComponent we must add the corresponding validator to it.
 
 A validator is an implementation of the 
@org.apache.wicket.validation.IValidator@ interface and the @FormComponent@ has 
a version of method add which takes as input a reference of this interface. 
 
@@ -11,7 +11,7 @@ TextField email = new TextField("email");
 email.add(EmailAddressValidator.getInstance());
 {code}
 
-Wicket comes with a set of built-in validators that should suit most of our 
needs. We will see them in paragraph 10.2.3.
+Wicket comes with a set of built-in validators that should suit most of our 
needs. We will see them later in this chapter.
 
 h3. Feedback messages and localization
 
@@ -24,10 +24,10 @@ Wicket generates a feedback message for each field that 
doesn't satisfy one of i
 The entire infrastructure of feedback messages is built on top of the Java 
internationalization (I18N) support and it uses "resource 
bundles":http://docs.oracle.com/javase/tutorial/i18n/resbundle/index.html to 
store messages.
 
 {note}
-The topics of internationalization will be covered in chapter 12. For now we 
will give just few notions needed to understand the examples from this chapter.
+The topics of internationalization will be covered in [chapter 14|guide:i18n]. 
For now we will give just few notions needed to understand the examples from 
this chapter.
 {note}
 
-By default resource bundles are stored into properties files but we can easily 
configure other sources as described later in paragraph 12.4.5. 
+By default resource bundles are stored into properties files but we can easily 
configure other sources as described later in [paragraph 14.2|guide:i18n_2]. 
 
 Default feedback messages (like the one above for required fields) are stored 
in the file Application. properties placed inside Wicket the org.apache.wicket 
package. Opening this file we can find the key and the localized value of the 
message:
 
@@ -40,7 +40,7 @@ We can note the key (Required in our case) and the label 
parameter written in th
 By default FormComponent provides 3 parameters for feedback message: input 
(the value that failed validation), label and name (this later is the id of the 
component).
 
 {warning}
-Remember that component model is updated with the user input only if 
validation succeeds! As a consequence, we can't retrieve the wrong value 
inserted for a field from its model. Instead, we should use getValue() method 
of FormComponent class. (This method will be introduced in the example used in 
paragraph 10.2.5)
+Remember that component model is updated with the user input only if 
validation succeeds! As a consequence, we can't retrieve the wrong value 
inserted for a field from its model. Instead, we should use getValue() method 
of FormComponent class. (This method will be introduced in the example used 
later in this chapter)
 {warning}
 
 h3. Displaying feedback messages and filtering them
@@ -65,7 +65,7 @@ Error messages can be filtered using three built-in filters:
 
 * *ComponentFeedbackMessageFilter*: shows only messages coming from a specific 
component.
 * *ContainerFeedbackMessageFilter*: shows only messages coming from a specific 
container or from any of its children components.
-* *ErrorLevelFeedbackMessageFilter*: shows only messages with a level of 
severity equals or greater than a given lower bound. Class FeedbackMessage 
defines a set of static constants to express different levels of severity: 
DEBUG, ERROR, WARNING, INFO, SUCCESS, etc.... Levels of severity for feedback 
messages are discussed in paragraph 10.2.6.
+* *ErrorLevelFeedbackMessageFilter*: shows only messages with a level of 
severity equals or greater than a given lower bound. Class FeedbackMessage 
defines a set of static constants to express different levels of severity: 
DEBUG, ERROR, WARNING, INFO, SUCCESS, etc.... Levels of severity for feedback 
messages are discussed later in this chapter.
 
 These filters are intended to be used when there are more than one feedback 
panel (or more than one form) in the same page. We can pass a filter to a 
feedback panel via its constructor or using the setFilter method. Custom 
filters can be created implementing the IFeedbackMessageFilter interface. An 
example of custom filter is illustrated later in this paragraph.
 

http://git-wip-us.apache.org/repos/asf/wicket/blob/8929074f/wicket-user-guide/src/docs/guide/forms2/forms2_3.gdoc
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/docs/guide/forms2/forms2_3.gdoc 
b/wicket-user-guide/src/docs/guide/forms2/forms2_3.gdoc
index 83b9add..08f5f34 100644
--- a/wicket-user-guide/src/docs/guide/forms2/forms2_3.gdoc
+++ b/wicket-user-guide/src/docs/guide/forms2/forms2_3.gdoc
@@ -82,7 +82,7 @@ public class RegExpPatternConverter implements 
IConverter<Pattern> {
 }
 {code}
 
-Methods declared by interface IConverter take as input a Locale parameter in 
order to deal with locale-sensitive data and conversions. We will learn more 
about locales and internationalization in chapter 12.
+Methods declared by interface IConverter take as input a Locale parameter in 
order to deal with locale-sensitive data and conversions. We will learn more 
about locales and internationalization in [paragraph 14|guide:i18n].
 
 Once we have implemented our custom converter, we must override method 
newConverterLocator() inside our application class and tell it to add our new 
converter to the default set:
 
@@ -134,4 +134,4 @@ public class HomePage extends WebPage {
 
 {note}
 If the user input can not be converted to the target type, FormComponent will 
generate the default error message “The value of '${label}' is not a valid 
${type}.”. The bundle key for this message is IConverter.
-{note}
\ No newline at end of file
+{note}

http://git-wip-us.apache.org/repos/asf/wicket/blob/8929074f/wicket-user-guide/src/docs/guide/forms2/forms2_9.gdoc
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/docs/guide/forms2/forms2_9.gdoc 
b/wicket-user-guide/src/docs/guide/forms2/forms2_9.gdoc
index 4331ef8..26fddd8 100644
--- a/wicket-user-guide/src/docs/guide/forms2/forms2_9.gdoc
+++ b/wicket-user-guide/src/docs/guide/forms2/forms2_9.gdoc
@@ -1,6 +1,6 @@
 
 
-In chapter 3.2.2 we have seen how to use class Panel to create custom 
components with their own markup and with an arbitrary number of children 
components.
+In [chapter 5.2.2|guide:layout_2] we have seen how to use class Panel to 
create custom components with their own markup and with an arbitrary number of 
children components.
 
 While it's perfectly legal to use Panel also to group form components, the 
resulting component won't be itself a form component and it won't participate 
in the form's submission workflow. 
 
@@ -67,7 +67,7 @@ public class TemperatureDegreeField extends 
FormComponentPanel<Double> {
        }
 {code}
 
-Inside the onInitialize method we have created a read-only model for the label 
that displays the letter corresponding to the user's temperature scale. To 
determinate which temperature scale is in use, we retrieve the Locale from the 
session by calling Component's getLocale() method (we will talk more about this 
method in chapter 12). Then, if locale is the one corresponding to the United 
States, the chosen scale will be Fahrenheit, otherwise it will be considered as 
Celsius. 
+Inside the onInitialize method we have created a read-only model for the label 
that displays the letter corresponding to the user's temperature scale. To 
determinate which temperature scale is in use, we retrieve the Locale from the 
session by calling Component's getLocale() method (we will talk more about this 
method in [paragraph 14|guide:i18n]). Then, if locale is the one corresponding 
to the United States, the chosen scale will be Fahrenheit, otherwise it will be 
considered as Celsius. 
 
 In the final part of onInitialize() we add the two components to our custom 
form component. You may have noticed that we have explicitly set the type of 
model object for the text field to double. This is necessary as the starting 
model object is a null reference and this prevents the component from 
automatically determining the type of its model object. 
 
@@ -119,4 +119,4 @@ Now we can look at the rest of the code containing the 
convertInput and onBefore
 
 Since our component does not directly receive the user input, convertInput() 
must read this value from the inner text field using FormComponent's 
getConvertedInput() method which returns the input value already converted to 
the type specified for the component (Double in our case). Once we have the 
user input we convert it to kelvin degrees and we use the resulting value to 
set the converted input for our custom component (using method 
setConvertedInput(T convertedInput)).
 
-Method onBeforeRender() is responsible for synchronizing the model of the 
inner textfield with the model of our custom component. To do this we retrieve 
the model object of the custom component with the getDefaultModelObject() 
method, then we convert it to the temperature scale adopted by the user and 
finally we use this value to set the model object of the text field.
\ No newline at end of file
+Method onBeforeRender() is responsible for synchronizing the model of the 
inner textfield with the model of our custom component. To do this we retrieve 
the model object of the custom component with the getDefaultModelObject() 
method, then we convert it to the temperature scale adopted by the user and 
finally we use this value to set the model object of the text field.

http://git-wip-us.apache.org/repos/asf/wicket/blob/8929074f/wicket-user-guide/src/docs/guide/i18n.gdoc
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/docs/guide/i18n.gdoc 
b/wicket-user-guide/src/docs/guide/i18n.gdoc
index 410bea5..c8dcaba 100644
--- a/wicket-user-guide/src/docs/guide/i18n.gdoc
+++ b/wicket-user-guide/src/docs/guide/i18n.gdoc
@@ -1 +1 @@
-In chapter 10 we have seen how the topic of localization is involved in the 
generation of feedback messages and we had a first contact with resource 
bundles. In this chapter we will continue to explore the localization support 
provided by Wicket and we will learn how to build pages and components ready to 
be localized in different languages.
\ No newline at end of file
+In [chapter 12.2|guide:forms2_2] we have seen how the topic of localization is 
involved in the generation of feedback messages and we had a first contact with 
resource bundles. In this chapter we will continue to explore the localization 
support provided by Wicket and we will learn how to build pages and components 
ready to be localized in different languages.

http://git-wip-us.apache.org/repos/asf/wicket/blob/8929074f/wicket-user-guide/src/docs/guide/i18n/i18n_1.gdoc
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/docs/guide/i18n/i18n_1.gdoc 
b/wicket-user-guide/src/docs/guide/i18n/i18n_1.gdoc
index a50b446..81522c8 100644
--- a/wicket-user-guide/src/docs/guide/i18n/i18n_1.gdoc
+++ b/wicket-user-guide/src/docs/guide/i18n/i18n_1.gdoc
@@ -1,6 +1,6 @@
 
 
-As we have seen in chapter 10, the infrastructure of feedback messages is 
built on top of Java internationalization (i18n) support, so it should not be 
surprising that the same infrastructure is used also for localization purpose. 
However, while so far we have used only the <ApplicationClassName>.properties 
file to store our custom messages, in this chapter we will see that also pages, 
components, validators and even Java packages can have their own resource 
bundles. This allows us to split bundles into multiple files keeping them close 
to where they are used. But before diving into the details of 
internationalization with Wicket, it's worthwhile to quickly review how i18n 
works under Java, see what classes are involved and how they are integrated 
into Wicket.
+As we have seen in [paragraph 12.2|guide:forms2_2], the infrastructure of 
feedback messages is built on top of Java internationalization (i18n) support, 
so it should not be surprising that the same infrastructure is used also for 
localization purpose. However, while so far we have used only the 
<ApplicationClassName>.properties file to store our custom messages, in this 
chapter we will see that also pages, components, validators and even Java 
packages can have their own resource bundles. This allows us to split bundles 
into multiple files keeping them close to where they are used. But before 
diving into the details of internationalization with Wicket, it's worthwhile to 
quickly review how i18n works under Java, see what classes are involved and how 
they are integrated into Wicket.
 
 {note}
 Providing a full description of Java support for i18n is clearly out of the 
scope of this document. If you need more informations about this topic you can 
find them in the JavaDocs and in the official "i18n 
tutorial":http://docs.oracle.com/javase/tutorial/i18n/index.html .
@@ -24,4 +24,4 @@ For example a bundle with MyBundle as base name and localized 
for Mandarin Chine
 
 The list of these candidate names is generated starting from the most specific 
one and subtracting an optional parameter at each step. The last name of the 
list corresponds to the default resource bundle which is the most general name 
and is equal to the base name. Once that getBundle has generated the list of 
candidate names, it will iterate over them to find the first one for which is 
possible to load a class or a properties file. The class must be a subclass of 
@ResourceBundle@ having as class name the full name used in the current 
iteration. If such a class is not found, getBundle will try to locate a 
properties file having a file name equals to the current full name (Java will 
automatically append extension .properties to the full name). For example given 
the resource bundle of the previous example, Java will search first for class 
org.foo.MyBundle_zh_CH_cmn and then for file MyBundle_zh_CH_cmn.properties 
inside package org.foo. If no file is found for any of the candidate name
 s, a MissingResourceException will be thrown. Bundles contains local-dependent 
string resources identified by a key that is unique in the given bundle. So 
once we have obtained a valid bundle we can access these objects with method 
getString (String key).
 
-As we have seen before working with feedback messages, in Wicket most of the 
times we will work with properties files rather than with bundle classes. In 
chapter 10 we used a properties file having as base name the class name of the 
application class and without any information about the locale. This file is 
the default resource bundle for a Wicket application. In paragraph 12.4 we will 
explore the algorithm used in Wicket to locate the available bundles for a 
given component. Once we have learnt how to leverage this algorithm, we will be 
able to split our bundles into more files organized in a logical hierarchy.
\ No newline at end of file
+As we have seen before working with feedback messages, in Wicket most of the 
times we will work with properties files rather than with bundle classes. In 
[paragraph 12.2|guide:forms2_2] we used a properties file having as base name 
the class name of the application class and without any information about the 
locale. This file is the default resource bundle for a Wicket application. In 
[paragraph 14.3|guide:i18n_3] we will explore the algorithm used in Wicket to 
locate the available bundles for a given component. Once we have learnt how to 
leverage this algorithm, we will be able to split our bundles into more files 
organized in a logical hierarchy.

http://git-wip-us.apache.org/repos/asf/wicket/blob/8929074f/wicket-user-guide/src/docs/guide/i18n/i18n_2.gdoc
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/docs/guide/i18n/i18n_2.gdoc 
b/wicket-user-guide/src/docs/guide/i18n/i18n_2.gdoc
index df6c66a..499aa0e 100644
--- a/wicket-user-guide/src/docs/guide/i18n/i18n_2.gdoc
+++ b/wicket-user-guide/src/docs/guide/i18n/i18n_2.gdoc
@@ -60,7 +60,7 @@ To use XML bundles in Wicket we don't need to put in place 
any additional config
 
 h3. Reading bundles from code
 
-Class Component makes reading bundles very easy with method getString(String 
key). This method searches for a resource with the given key looking into the 
resource bundles visited by the lookup algorithm illustrated in paragraph 12.4. 
For example if we have a greeting message with key greetingMessage in our 
application's resource  bundle, we can read it from our component code with 
this instruction:
+Class Component makes reading bundles very easy with method getString(String 
key). This method searches for a resource with the given key looking into the 
resource bundles visited by the lookup algorithm illustrated in [paragraph 
14.3|guide:i18n_3]. For example if we have a greeting message with key 
greetingMessage in our application's resource  bundle, we can read it from our 
component code with this instruction:
 
 {code}
 getString("greetingMessage");
@@ -68,7 +68,7 @@ getString("greetingMessage");
 
 h3. Localization of bundles in Wicket
 
-In chapter 10 we have used as resource bundle the properties file placed next 
to our application class. This file is the default resource bundle for the 
entire application and it is used by the lookup algorithm if it doesn't find 
any better match for a given component and locale. If we want to provide 
localized versions of this file we must simply follow the rules of Java i18n 
and put our translated resources into another properties file with a name 
corresponding to the desired locale. For example project LocalizedGreetings 
comes with the default application's properties file ( 
WicketApplication.properties) containing a greeting message:
+In [paragraph 12.2|guide:forms2_2] we have used as resource bundle the 
properties file placed next to our application class. This file is the default 
resource bundle for the entire application and it is used by the lookup 
algorithm if it doesn't find any better match for a given component and locale. 
If we want to provide localized versions of this file we must simply follow the 
rules of Java i18n and put our translated resources into another properties 
file with a name corresponding to the desired locale. For example project 
LocalizedGreetings comes with the default application's properties file ( 
WicketApplication.properties) containing a greeting message:
 
 {code}
 greetingMessage=Welcome to the site!
@@ -91,7 +91,7 @@ AbstractReadOnlyModel<String> model = new 
AbstractReadOnlyModel<String>() {
 add(new Label("greetingMessage", model));
 {code}
 
-Class @org.apache.wicket.model.AbstractReadOnlyModel@ is a convenience class 
for implementing read-only models. In this project we have implemented a custom 
read-only model for illustrative purposes only because Wicket already provides 
built-in models for the same task. We will see them in paragraph 12.6.
+Class @org.apache.wicket.model.AbstractReadOnlyModel@ is a convenience class 
for implementing read-only models. In this project we have implemented a custom 
read-only model for illustrative purposes only because Wicket already provides 
built-in models for the same task. We will see them in paragraph [paragraph 
14.5|guide:i18n_5].
 
 The rest of the code of the home page builds the stateless form and the 
drop-down menu used to change the locale.
 

http://git-wip-us.apache.org/repos/asf/wicket/blob/8929074f/wicket-user-guide/src/docs/guide/i18n/i18n_3.gdoc
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/docs/guide/i18n/i18n_3.gdoc 
b/wicket-user-guide/src/docs/guide/i18n/i18n_3.gdoc
index d00a134..a38b67d 100644
--- a/wicket-user-guide/src/docs/guide/i18n/i18n_3.gdoc
+++ b/wicket-user-guide/src/docs/guide/i18n/i18n_3.gdoc
@@ -78,13 +78,13 @@ Validator's resource bundles have the lowest priority in 
the lookup algorithm. T
 
 h3. Extending the default lookup algorithm
 
-Wicket implements the default lookup algorithm using the strategy pattern1. 
The concrete strategies are abstracted with the interface 
@org.apache.wicket.resource.loader.IStringResourceLoader@. By default Wicket 
uses the following implementations of @IStringResourceLoader@ (sorted by 
execution order):
+Wicket implements the default lookup algorithm using the strategy pattern. The 
concrete strategies are abstracted with the interface 
@org.apache.wicket.resource.loader.IStringResourceLoader@. By default Wicket 
uses the following implementations of @IStringResourceLoader@ (sorted by 
execution order):
 
 # *ComponentStringResourceLoader:* implements most of the default algorithm. 
It searches for a given resource across bundles from the container hierarchy, 
from class hierarchy and from the given component.
 # *PackageStringResourceLoader:* searches into package bundles.
 # *ClassStringResourceLoader:* searches into bundles of a given class. By 
default the target class is the application class.
 # *ValidatorStringResourceLoader:* searches for resources into validator's 
bundles. A list of validators is provided by the form component that failed 
validation.
-# *InitializerStringResourceLoader:* this resource allows internationalization 
to interact with the initialization mechanism of the framework that will be 
illustrated in paragraph 15.4.
+# *InitializerStringResourceLoader:* this resource allows internationalization 
to interact with the initialization mechanism of the framework that will be 
illustrated in [paragraph 17.3|guide:advanced_3].
 
 Developer can customize lookup algorithm removing default resource loaders or 
adding custom implementations to the list of the resource loaders in use. This 
task can be accomplished using method getStringResourceLoaders of setting class 
@org.apache.wicket.settings.ResourceSettings@:
 

http://git-wip-us.apache.org/repos/asf/wicket/blob/8929074f/wicket-user-guide/src/docs/guide/i18n/i18n_4.gdoc
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/docs/guide/i18n/i18n_4.gdoc 
b/wicket-user-guide/src/docs/guide/i18n/i18n_4.gdoc
index 8372272..1dd962f 100644
--- a/wicket-user-guide/src/docs/guide/i18n/i18n_4.gdoc
+++ b/wicket-user-guide/src/docs/guide/i18n/i18n_4.gdoc
@@ -47,8 +47,8 @@ yellow=Yellow
 German bundle:
 
 {code}
-selectColor.null=Wahlen sie eine farbe
-green=Grun
+selectColor.null=Wählen Sie eine Farbe
+green=Grün
 red=Rot
 blue=Blau
 yellow=Gelb
@@ -64,4 +64,4 @@ blue=Blu
 yellow=Giallo
 {code}
 
-Along with the localized versions of colors names, in the bundles above we can 
also find a custom value for the placeholder text (“Chose one ”) used for 
null value. The resource key for this resource is 'null' or '<component 
id>.null' if we want to make it component-specific.
\ No newline at end of file
+Along with the localized versions of colors names, in the bundles above we can 
also find a custom value for the placeholder text (“Select a color ”) used 
for null value. The resource key for this resource is 'null' or '<component 
id>.null' if we want to make it component-specific.

http://git-wip-us.apache.org/repos/asf/wicket/blob/8929074f/wicket-user-guide/src/docs/guide/i18n/i18n_5.gdoc
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/docs/guide/i18n/i18n_5.gdoc 
b/wicket-user-guide/src/docs/guide/i18n/i18n_5.gdoc
index aff8c2c..be06e61 100644
--- a/wicket-user-guide/src/docs/guide/i18n/i18n_5.gdoc
+++ b/wicket-user-guide/src/docs/guide/i18n/i18n_5.gdoc
@@ -4,7 +4,7 @@ Internationalization is another good chance to taste the power 
of models. Wicket
 
 h3. ResourceModel
 
-Model @org.apache.wicket.model.ResourceModel@ acts just like the read-only 
model we have implemented in paragraph 12.3.4. It simply retrieves a string 
resource corresponding to a given key:
+Model @org.apache.wicket.model.ResourceModel@ acts just like the read-only 
model we have implemented in [paragraph 14.3|guide:i18n_3]. It simply retrieves 
a string resource corresponding to a given key:
 
 {code}
 //build a ResourceModel for key 'greetingMessage'
@@ -90,4 +90,4 @@ One further parameter we can specify when we build a 
StringResourceModel is the
 
 {code}
 new StringResourceModel("myKey", myComponent, myModel, param1, param2, 
param3,...);
-{code}
\ No newline at end of file
+{code}

http://git-wip-us.apache.org/repos/asf/wicket/blob/8929074f/wicket-user-guide/src/docs/guide/internals/pagestoring.gdoc
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/docs/guide/internals/pagestoring.gdoc 
b/wicket-user-guide/src/docs/guide/internals/pagestoring.gdoc
index 784d732..2bdc268 100644
--- a/wicket-user-guide/src/docs/guide/internals/pagestoring.gdoc
+++ b/wicket-user-guide/src/docs/guide/internals/pagestoring.gdoc
@@ -45,7 +45,10 @@ To disable it use: 
@org.apache.wicket.settings.StoreSettings.setAsynchronous(fal
 
 h3. DebugDiskDataStore
 
-Wicket provides an extension of @DiskDataStore@ that can be used to browse the 
content of the 'data' files created by @DiskDataStore@. This debug enabled 
@DiskDataStore@ is automatically setup when wicket-devutils.jar is in the 
classpath.
+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 
+{code}
+ DebugDiskDataStore.register(this);
+{code}
 The debug information can be seen at 
http://host:port/context/wicket/internal/debug/diskDataStore
 
 h3. HttpSessionDataStore
@@ -72,3 +75,16 @@ MyApp#init()
 }
 {code}
 
+h3. 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: 
+{code}
+add(new DebugBar("debug"));
+{code}
+
+HTML:
+{code}
+<span wicket:id="debug"/>
+{code}

http://git-wip-us.apache.org/repos/asf/wicket/blob/8929074f/wicket-user-guide/src/docs/guide/jee/jee_3.gdoc
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/docs/guide/jee/jee_3.gdoc 
b/wicket-user-guide/src/docs/guide/jee/jee_3.gdoc
index 38e56da..f190a98 100644
--- a/wicket-user-guide/src/docs/guide/jee/jee_3.gdoc
+++ b/wicket-user-guide/src/docs/guide/jee/jee_3.gdoc
@@ -4,6 +4,7 @@ Spring (and Guice) users can use standard 
"JSR-330":http://jcp.org/en/jsr/detail
 
 {code}
   //inject a bean specifying its name with JSR-330 annotations
-  @Inject @Named("anotherName")
+  @Inject 
+  @Named("anotherName")
   private EnterpriseMessage enterpriseMessage;
-{code}
\ No newline at end of file
+{code}

http://git-wip-us.apache.org/repos/asf/wicket/blob/8929074f/wicket-user-guide/src/docs/guide/jsintegration/jsintegration_2.gdoc
----------------------------------------------------------------------
diff --git 
a/wicket-user-guide/src/docs/guide/jsintegration/jsintegration_2.gdoc 
b/wicket-user-guide/src/docs/guide/jsintegration/jsintegration_2.gdoc
index 88c945d..ef18256 100644
--- a/wicket-user-guide/src/docs/guide/jsintegration/jsintegration_2.gdoc
+++ b/wicket-user-guide/src/docs/guide/jsintegration/jsintegration_2.gdoc
@@ -81,7 +81,7 @@ The first thing to do inside onInitialize is to ensure that 
our component will h
 
 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 paragraph 7.3.2).
+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 [paragraph 9.3.2|guide:requestProcessing_3]).
 
 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@. 
 
@@ -133,5 +133,5 @@ This does not apply to the init script which is dynamically 
generated and is ren
 {note}
 
 {warning}
-Our datepicker is not ready yet to be used with AJAX. In chapter 16 we will 
see how to modify it to make it AJAX-compatible.
+Our datepicker is not ready yet to be used with AJAX. In [chapter 
18|guide:ajax] we will see how to modify it to make it AJAX-compatible.
 {warning}

http://git-wip-us.apache.org/repos/asf/wicket/blob/8929074f/wicket-user-guide/src/docs/guide/maven/maven_1.gdoc
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/docs/guide/maven/maven_1.gdoc 
b/wicket-user-guide/src/docs/guide/maven/maven_1.gdoc
index 7c05c81..a20d570 100644
--- a/wicket-user-guide/src/docs/guide/maven/maven_1.gdoc
+++ b/wicket-user-guide/src/docs/guide/maven/maven_1.gdoc
@@ -1,6 +1,6 @@
 
 
-As pointed out in the note at page 9, Wicket can be started in two modes, 
DEVELOPMENT and DEPLOYMENT. When we are in DEVELOPMENT mode Wicket warns us at 
application startup with the following message:
+As pointed out in the note in [paragraph 4.2|guide:helloWorld_2], Wicket can 
be started in two modes, DEVELOPMENT and DEPLOYMENT. When we are in DEVELOPMENT 
mode Wicket warns us at application startup with the following message:
 
 {code}
 ********************************************************************
@@ -11,7 +11,7 @@ As pointed out in the note at page 9, Wicket can be started 
in two modes, DEVELO
 ********************************************************************
 {code}
 
-As we can read Wicket itself discourages us from using DEVELOPMENT mode into 
production environment. The running mode of our application can be configured 
in three different ways. The first one is adding a filter parameter inside 
deployment descriptor web.xml:
+As we can read Wicket itself discourages us from using DEVELOPMENT mode into 
production environment. The running mode of our application can be configured 
in four different ways. The first one is adding a filter parameter inside 
deployment descriptor web.xml:
 
 {code:html}
 <filter>      
@@ -43,4 +43,10 @@ The third way to set the running mode is using system 
property wicket.configurat
 java -Dwicket.configuration=deployment ...
 {code}
 
-Remember that system properties overwrite other settings, so they are ideal to 
ensure that on production machine the running mode will be always set to 
DEPLOYMENT. 
\ No newline at end of file
+The last option is to set it in your Java code (e.g. in the init-method of 
your WebApplication):
+
+{code}
+setConfigurationType(RuntimeConfigurationType.DEPLOYMENT);
+{code}
+
+Remember that system properties overwrite other settings, so they are ideal to 
ensure that on production machine the running mode will be always set to 
DEPLOYMENT. 

http://git-wip-us.apache.org/repos/asf/wicket/blob/8929074f/wicket-user-guide/src/docs/guide/maven/maven_2.gdoc
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/docs/guide/maven/maven_2.gdoc 
b/wicket-user-guide/src/docs/guide/maven/maven_2.gdoc
index 95cb4d8..04b5f62 100644
--- a/wicket-user-guide/src/docs/guide/maven/maven_2.gdoc
+++ b/wicket-user-guide/src/docs/guide/maven/maven_2.gdoc
@@ -8,7 +8,7 @@ Another requirement is a good Internet connection (a flat ADSL 
is enough) becaus
 
 h3. From Maven to our IDE
 
-Wicket project and its dependencies are managed using Maven1. This tool is 
very useful also when we want to create a new project based on Wicket from 
scratch. With a couple of shell commands we can generate a new project properly 
configured and ready to be imported into our favourite IDE.
+Wicket project and its dependencies are managed using Maven. This tool is very 
useful also when we want to create a new project based on Wicket from scratch. 
With a couple of shell commands we can generate a new project properly 
configured and ready to be imported into our favourite IDE.
 The main step to create such a project is to run the command which generates 
project's structure and its artifacts. If we are not familiar with Maven or we 
simply don't want to type this command by hand, we can use the utility form on 
Wicket site at 
"http://wicket.apache.org/start/quickstart.html":http://wicket.apache.org/start/quickstart.html
 :
 
 !quickstart-webpage.png!
@@ -118,7 +118,7 @@ h3. Speeding up development with plugins.
 Now that we have our project loaded into our IDE we could start coding our 
components directly by hand. However it would be a shame to not leverage the 
free and good Wicket plugins available for our IDE. The following is a brief 
overview of the most widely used plugins for each of the three main IDEs 
considered so far.
 
 *NetBeans*
-NetBeans offers Wicket support thought 'NetBeans Plugin for Wicket' hosted at 
"http://java.net/projects/nbwicketsupport/":http://java.net/projects/nbwicketsupport/
 . This plugin is released under CDDL-1.0 license. 
+NetBeans offers Wicket support through 'NetBeans Plugin for Wicket' hosted at 
"http://plugins.netbeans.org/plugin/3586/wicket-1-4-support":http://plugins.netbeans.org/plugin/3586/wicket-1-4-support
 . This plugin is released under CDDL-1.0 license. 
 You can  find a nice introduction guide to this plugin at 
"http://netbeans.org/kb/docs/web/quickstart-webapps-wicket.html":http://netbeans.org/kb/docs/web/quickstart-webapps-wicket.html
 .
 
 *Intellj IDEA*
@@ -126,4 +126,4 @@ For JetBrain IDEA we can use WicketForge plugin, hosted at 
Google Code "http://c
 
 *Eclipse*
 With Eclipse we can install one of the plugins that supports Wicket. As of the 
writing of this document, the most popular is probably Qwickie, available in 
the Eclipse Marketplace and hosted on Google Code at 
"http://code.google.com/p/qwickie/":http://code.google.com/p/qwickie/ .
-QWickie is released under ASF 2.0 license.
\ No newline at end of file
+QWickie is released under ASF 2.0 license.

http://git-wip-us.apache.org/repos/asf/wicket/blob/8929074f/wicket-user-guide/src/docs/guide/modelsforms/modelsforms_1.gdoc
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/docs/guide/modelsforms/modelsforms_1.gdoc 
b/wicket-user-guide/src/docs/guide/modelsforms/modelsforms_1.gdoc
index ce458cc..750e399 100644
--- a/wicket-user-guide/src/docs/guide/modelsforms/modelsforms_1.gdoc
+++ b/wicket-user-guide/src/docs/guide/modelsforms/modelsforms_1.gdoc
@@ -64,5 +64,5 @@ add(new Label("timeStamp", timeStampModel));
 Even if sometimes writing a custom model could be a good choice to solve a 
specific problem, Wicket already provides a set of IModel implementations which 
should fit most of our needs. In the next paragraph we will see a couple of 
models that allow us to easily integrate JavaBeans with our web applications 
and in particular with our forms.
 
 {note}
-By default class Component escapes HTML sensitive characters (like '<', '>' or 
'&') from the textual representation of its model object. The term 'escape' 
means that these characters will be replaced with their corresponding HTML 
"entity":http://en.wikipedia.org/wiki/Character_entity_reference (for example 
'<' becomes '&lt; '). This is done for security reasons as a malicious user 
could attempt to inject markup or JavaScript into our pages. If we want to 
display the raw content stored inside a model, we can tell the Component class 
not to escape characters by calling the setEscapeModelStrings(false) method.
-{note}
\ No newline at end of file
+By default the class Component escapes HTML sensitive characters (like '<', 
'>' or '&') from the textual representation of its model object. The term 
'escape' means that these characters will be replaced with their corresponding 
HTML "entity":http://en.wikipedia.org/wiki/Character_entity_reference (for 
example '<' becomes '&lt; '). This is done for security reasons as a malicious 
user could attempt to inject markup or JavaScript into our pages. If we want to 
display the raw content stored inside a model, we can tell the Component class 
not to escape characters by calling the setEscapeModelStrings(false) method.
+{note}

http://git-wip-us.apache.org/repos/asf/wicket/blob/8929074f/wicket-user-guide/src/docs/guide/repeaters/repeaters_4.gdoc
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/docs/guide/repeaters/repeaters_4.gdoc 
b/wicket-user-guide/src/docs/guide/repeaters/repeaters_4.gdoc
index 4a7496b..71c5793 100644
--- a/wicket-user-guide/src/docs/guide/repeaters/repeaters_4.gdoc
+++ b/wicket-user-guide/src/docs/guide/repeaters/repeaters_4.gdoc
@@ -2,7 +2,7 @@
 
 Wicket offers a number of components that should be used when we have to 
display a big number of  items (for example the results of a select SQL query). 
 
-All these components implement interface 
@org.apache.wicket.markup.html.navigation.paging.IPageable@ and use interface 
@IDataProvider@ (placed in package @org.apache.wicket.markup.repeater.data@) as 
data source. This interface is designed to support data paging. We will see an 
example of data paging later in paragraph 11.4.2. 
+All these components implement interface 
@org.apache.wicket.markup.html.navigation.paging.IPageable@ and use interface 
@IDataProvider@ (placed in package @org.apache.wicket.markup.repeater.data@) as 
data source. This interface is designed to support data paging. We will see an 
example of data paging later in [paragraph 13.4.2|guide:repeaters_4]. 
 
 The methods defined by IDataProvider are the following:
 * iterator(long first, long count): returns an iterator over a subset of the 
entire dataset. The subset starts from the item at position first and includes 
all the next count items (i.e. it's the closed interval [first,first+count]).

http://git-wip-us.apache.org/repos/asf/wicket/blob/8929074f/wicket-user-guide/src/docs/guide/requestProcessing/requestProcessing_3.gdoc
----------------------------------------------------------------------
diff --git 
a/wicket-user-guide/src/docs/guide/requestProcessing/requestProcessing_3.gdoc 
b/wicket-user-guide/src/docs/guide/requestProcessing/requestProcessing_3.gdoc
index f94fe54..7f491cf 100644
--- 
a/wicket-user-guide/src/docs/guide/requestProcessing/requestProcessing_3.gdoc
+++ 
b/wicket-user-guide/src/docs/guide/requestProcessing/requestProcessing_3.gdoc
@@ -4,7 +4,7 @@ Class @org.apache.wicket.request.cycle.RequestCycle@ is the 
entity in charge of
 
 Method @createRequestCycle@ is declared as final, so we can't override it to 
return a custom subclass of @RequestCycle@. Instead, we must build a request 
cycle provider implementing interface 
@org.apache.wicket.IRequestCycleProvider@, and then we must tell our 
application class to use it via the @setRequestCycleProvider@ method.
 
-The current running request cycle can be retrieved at any time by calling its 
static method @RequestCycle.get()@. Strictly speaking this method returns the 
request cycle associated with the current (or local) thread, which is the 
thread that is serving the current request. A similar @get()@ method is also 
implemented in classes @org.apache.wicket.Application@ (as we have seen in 
paragraph 2.2.2) and @org.apache.wicket.Session@ in order to get the 
application and the session in use by the current thread.
+The current running request cycle can be retrieved at any time by calling its 
static method @RequestCycle.get()@. Strictly speaking this method returns the 
request cycle associated with the current (or local) thread, which is the 
thread that is serving the current request. A similar @get()@ method is also 
implemented in classes @org.apache.wicket.Application@ (as we have seen in 
[paragraph 4.2.2|guide:helloWorld_2]) and @org.apache.wicket.Session@ in order 
to get the application and the session in use by the current thread.
 
 {note}
 The implementation of the get method takes advantage of the standard class 
@java.lang.ThreadLocal@. See its JavaDoc for an introduction to local-thread 
variables.
@@ -40,13 +40,13 @@ The RequestCycle is also responsible for generating the URL 
value (as CharSequen
 
 * a page class, via the @urlFor(Class<C> pageClass, PageParameters 
parameters)@ method 
 * an IRequestHandler via the @urlFor(IRequestHandler handler)@ method 
-* a ResourceReference via the @urlFor(ResourceReference reference, 
PageParameters params)@ method (resource entities will be introduced in chapter 
13). 
+* a ResourceReference via the @urlFor(ResourceReference reference, 
PageParameters params)@ method (resource entities will be introduced in 
[chapter 15|guide:resources]). 
 
 The overloaded @urlFor@ method from above also has a corresponding version 
that returns an instance of @org.apache.wicket.request.Url@ instead of a 
@CharSequence@. This version has the prefix 'map' in its name (i.e. it has 
@mapUrlFor@ as full name).
 
 h3. Method setResponsePage
 
-The @RequestCycle@ class contains the implementation of the @setResponsePage@ 
method we use to redirect a user to a specific page (see paragraph 2.4). The 
namesake method of class @org.apache.wicket.Component@ is just a convenience 
method that internally invokes the actual implementation on current request 
cycle:
+The @RequestCycle@ class contains the implementation of the @setResponsePage@ 
method we use to redirect a user to a specific page (see [paragraph 
4.4|guide:helloWorld_4]). The namesake method of class 
@org.apache.wicket.Component@ is just a convenience method that internally 
invokes the actual implementation on current request cycle:
 
 {code}
 public final void setResponsePage(final Page page) {

http://git-wip-us.apache.org/repos/asf/wicket/blob/8929074f/wicket-user-guide/src/docs/guide/requestProcessing/requestProcessing_4.gdoc
----------------------------------------------------------------------
diff --git 
a/wicket-user-guide/src/docs/guide/requestProcessing/requestProcessing_4.gdoc 
b/wicket-user-guide/src/docs/guide/requestProcessing/requestProcessing_4.gdoc
index f852071..393e0ac 100644
--- 
a/wicket-user-guide/src/docs/guide/requestProcessing/requestProcessing_4.gdoc
+++ 
b/wicket-user-guide/src/docs/guide/requestProcessing/requestProcessing_4.gdoc
@@ -32,7 +32,7 @@ The Session class handles session attributes in much the same 
way as the standar
 * *getAttribute(String name):* returns the value of the attribute identified 
by the given name, or null if the name does not correspond to any attribute.
 * *removeAttribute(String name):* removes the attribute identified by the 
given name.
 
-By default class WebSession will use the underlying http session to store 
attributes. Wicket will automatically add a prefix to the name of the 
attributes. This prefix is returned by the WebApplication's method 
getSessionAttributePrefix().
+By default class WebSession will use the underlying HTTP session to store 
attributes. Wicket will automatically add a prefix to the name of the 
attributes. This prefix is returned by the WebApplication's method 
getSessionAttributePrefix().
 
 h3. Accessing to the HTTP session
 

http://git-wip-us.apache.org/repos/asf/wicket/blob/8929074f/wicket-user-guide/src/docs/guide/requestProcessing/requestProcessing_6.gdoc
----------------------------------------------------------------------
diff --git 
a/wicket-user-guide/src/docs/guide/requestProcessing/requestProcessing_6.gdoc 
b/wicket-user-guide/src/docs/guide/requestProcessing/requestProcessing_6.gdoc
index 9cd6a4c..61f28d8 100644
--- 
a/wicket-user-guide/src/docs/guide/requestProcessing/requestProcessing_6.gdoc
+++ 
b/wicket-user-guide/src/docs/guide/requestProcessing/requestProcessing_6.gdoc
@@ -2,4 +2,4 @@
 
 In this chapter we had a look at how Wicket internally handles a web request. 
Even if most of the time  we won't need to customize this internal process, 
knowing how it works is essential to use the framework at 100%.
 
-Entities like Application and Session will come in handy again when we will 
tackle the topic of security in chapter 20.
\ No newline at end of file
+Entities like Application and Session will come in handy again when we will 
tackle the topic of security in [chapter 21|guide:security].

http://git-wip-us.apache.org/repos/asf/wicket/blob/8929074f/wicket-user-guide/src/docs/guide/resources.gdoc
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/docs/guide/resources.gdoc 
b/wicket-user-guide/src/docs/guide/resources.gdoc
index 1274817..ff01f7c 100644
--- a/wicket-user-guide/src/docs/guide/resources.gdoc
+++ b/wicket-user-guide/src/docs/guide/resources.gdoc
@@ -1,5 +1,5 @@
 One of the biggest challenge for a web framework is to offer an efficient and 
consistent mechanism to handle internal resources such as CSS/JavaScript files, 
picture files, pdf and so on. Resources can be static (like an icon used across 
the site) or dynamic (they can be generated on the fly) and they can be made 
available to users as a download or as a simple URL.
 
-In paragraph 4.6 we have already seen how to add CSS and JavaScript contents 
to the header section of the page. In the first half of this chapter we will 
learn a more sophisticated technique that allows us to manage static resources 
directly from code and “pack” them with our custom components.
+In [paragraph 6.6|guide:keepControl_6] we have already seen how to add CSS and 
JavaScript contents to the header section of the page. In the first half of 
this chapter we will learn a more sophisticated technique that allows us to 
manage static resources directly from code and “pack” them with our custom 
components.
 
-Then, in the second part of the chapter we will see how to implement custom 
resources to enrich our web application with more complex and dynamic 
functionalities.
\ No newline at end of file
+Then, in the second part of the chapter we will see how to implement custom 
resources to enrich our web application with more complex and dynamic 
functionalities.

http://git-wip-us.apache.org/repos/asf/wicket/blob/8929074f/wicket-user-guide/src/docs/guide/resources/resources_1.gdoc
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/docs/guide/resources/resources_1.gdoc 
b/wicket-user-guide/src/docs/guide/resources/resources_1.gdoc
index 1c47376..8bf9c5a 100644
--- a/wicket-user-guide/src/docs/guide/resources/resources_1.gdoc
+++ b/wicket-user-guide/src/docs/guide/resources/resources_1.gdoc
@@ -6,4 +6,4 @@ Resources can be static or dynamic. Static resources don't 
entail any computatio
 
 An example of dynamic resource is the built-in class CaptchaImageResource in 
package @org.apache.wicket.extensions.markup.html.captcha@ which generates a 
captcha image each time is rendered. 
 
-As we will see in paragraph 13.6, developers can build custom resources 
extending base class @org.apache.wicket.request.resource.AbstractResource@.
\ No newline at end of file
+As we will see in [paragraph 15.10|guide:resources_10], developers can build 
custom resources extending base class 
@org.apache.wicket.request.resource.AbstractResource@.

http://git-wip-us.apache.org/repos/asf/wicket/blob/8929074f/wicket-user-guide/src/docs/guide/resources/resources_10.gdoc
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/docs/guide/resources/resources_10.gdoc 
b/wicket-user-guide/src/docs/guide/resources/resources_10.gdoc
index f7fe0d9..45d78f4 100644
--- a/wicket-user-guide/src/docs/guide/resources/resources_10.gdoc
+++ b/wicket-user-guide/src/docs/guide/resources/resources_10.gdoc
@@ -2,7 +2,7 @@
 
 In Wicket the best way to add dynamic functionalities to our application (such 
as csv export, a pdf generated on the fly, etc...) is implementing a custom 
resource. In this paragraph as example of custom resource we will build a basic 
RSS feeds generator which can be used to publish feeds on our site (project 
CustomResourceMounting). Instead of generating a RSS feed by hand we will use 
Rome framework and its utility classes. 
 
-As hinted above in paragraph 13.1, class @AbstractResource@ can be used as 
base class to implement new resources. This class defines abstract method 
@newResourceResponse@ which is invoked when the resource is requested. The 
following is the code of our RSS feeds generator:
+As hinted above in [paragraph 15.1|guide:resources_1], class 
@AbstractResource@ can be used as base class to implement new resources. This 
class defines abstract method @newResourceResponse@ which is invoked when the 
resource is requested. The following is the code of our RSS feeds generator:
 
 {code}
 public class RSSProducerResource extends AbstractResource {
@@ -45,4 +45,4 @@ Now that we have our custom resource in place, we can use it 
in the home page of
 add(new ResourceLink("rssLink", new RSSProducerResource()));
 {code}
 
-In the next paragraphs we will see how to register a resource at 
application-level and how to mount it to an arbitrary URL.
\ No newline at end of file
+In the next paragraphs we will see how to register a resource at 
application-level and how to mount it to an arbitrary URL.

http://git-wip-us.apache.org/repos/asf/wicket/blob/8929074f/wicket-user-guide/src/docs/guide/resources/resources_11.gdoc
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/docs/guide/resources/resources_11.gdoc 
b/wicket-user-guide/src/docs/guide/resources/resources_11.gdoc
index 89eee07..9d62202 100644
--- a/wicket-user-guide/src/docs/guide/resources/resources_11.gdoc
+++ b/wicket-user-guide/src/docs/guide/resources/resources_11.gdoc
@@ -1,6 +1,6 @@
 
 
-Just like pages also resources can be mounted to a specific path. Class 
@WebApplication@ provides method @mountResource@ which is almost identical to 
@mountPage@ seen in paragraph 8.6.1:
+Just like pages also resources can be mounted to a specific path. Class 
@WebApplication@ provides method @mountResource@ which is almost identical to 
@mountPage@ seen in [paragraph 10.6.1|guide:urls_6]:
 
 {code}
 @Override
@@ -34,4 +34,4 @@ public void init() {
   }};
   mountResource("/bar/${baz}", resourceReference);
 }
-{code}
\ No newline at end of file
+{code}

http://git-wip-us.apache.org/repos/asf/wicket/blob/8929074f/wicket-user-guide/src/docs/guide/resources/resources_3.gdoc
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/docs/guide/resources/resources_3.gdoc 
b/wicket-user-guide/src/docs/guide/resources/resources_3.gdoc
index e996b36..ecd4aba 100644
--- a/wicket-user-guide/src/docs/guide/resources/resources_3.gdoc
+++ b/wicket-user-guide/src/docs/guide/resources/resources_3.gdoc
@@ -49,7 +49,7 @@ In our example the URL for our picture file calendar.jpg is 
the following:
 
 
@./wicket/resource/org.wicketTutorial.CustomPanel/calendar-ver-1297887542000.jpg@
 
-The first part of the URL is the relative path to the application root. In our 
example our page is already at the application's root so we have only a 
single-dotted segment. The next two segments, wicket and resource, are 
respectively the namespace and the identifier for resources seen in paragraph 
8.6.4. 
+The first part of the URL is the relative path to the application root. In our 
example our page is already at the application's root so we have only a 
single-dotted segment. The next two segments, wicket and resource, are 
respectively the namespace and the identifier for resources seen in [paragraph 
10.6.4|guide:urls_6]. 
 
 The fourth segment is the fully qualified name of the class used to locate the 
resource and it is the scope of the package resource. In the last segment of 
the URL we can find the name of the resource (the file name).
 
@@ -145,7 +145,7 @@ Since Wicket 7.0.0 the PackageResource and the 
PackageResourceReference support
 
 h3. Using package resources with tag <wicket:link>
 
-In paragraph 8.3 we have used tag <wicket:link> to automatically create links 
to bookmarkable pages. The same technique can be used also for package 
resources in order to use them directly from markup file. Let's assume for 
example that we have a picture file called icon.png placed in the same package 
of the current page. Under these conditions we can display the picture file 
using the following markup fragment:
+In [paragraph 10.3|guide:urls_3] we have used tag <wicket:link> to 
automatically create links to bookmarkable pages. The same technique can be 
used also for package resources in order to use them directly from markup file. 
Let's assume for example that we have a picture file called icon.png placed in 
the same package of the current page. Under these conditions we can display the 
picture file using the following markup fragment:
 
 {code:html}
 <wicket:link>

http://git-wip-us.apache.org/repos/asf/wicket/blob/8929074f/wicket-user-guide/src/docs/guide/resources/resources_4.gdoc
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/docs/guide/resources/resources_4.gdoc 
b/wicket-user-guide/src/docs/guide/resources/resources_4.gdoc
index 7645c9b..769659b 100644
--- a/wicket-user-guide/src/docs/guide/resources/resources_4.gdoc
+++ b/wicket-user-guide/src/docs/guide/resources/resources_4.gdoc
@@ -1,6 +1,6 @@
 
 
-Wicket comes with interface @org.apache.wicket.markup.html.IHeaderContributor@ 
which allows components and behaviors (which will be introduced later in 
paragraph 15.1) to contribute to the header section of their page. The only 
method defined in this interface is @renderHead(IHeaderResponse response)@ 
where @IHeaderResponse@ is an interface which defines method @render(HeaderItem 
item)@ to write static resources or free-form text into the header section of 
the page. 
+Wicket comes with interface @org.apache.wicket.markup.html.IHeaderContributor@ 
which allows components and behaviors (which will be introduced later in 
[paragraph 17.1|guide:advanced_1]) to contribute to the header section of their 
page. The only method defined in this interface is @renderHead(IHeaderResponse 
response)@ where @IHeaderResponse@ is an interface which defines method 
@render(HeaderItem item)@ to write static resources or free-form text into the 
header section of the page. 
 
 Header entries are instances of abstract class 
@org.apache.wicket.markup.head.HeaderItem@. Wicket provides a set of built-in 
implementations of this class suited for the most common types of resources. 
With the exception of @PriorityHeaderItem@, every implementation of 
@HeaderItem@ is an abstract factory class:
 

http://git-wip-us.apache.org/repos/asf/wicket/blob/8929074f/wicket-user-guide/src/docs/guide/security/security_2.gdoc
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/docs/guide/security/security_2.gdoc 
b/wicket-user-guide/src/docs/guide/security/security_2.gdoc
index 1f76d76..46e9984 100644
--- a/wicket-user-guide/src/docs/guide/security/security_2.gdoc
+++ b/wicket-user-guide/src/docs/guide/security/security_2.gdoc
@@ -70,7 +70,7 @@ By default @SimplePageAuthorizationStrategy@ checks for 
permissions only on page
 
 h3. Role-based strategies
 
-At the end of paragraph 20.1 we have introduced 
AbstractAuthenticatedWebSession's method getRoles which is provided to support 
role-based authorization returning the set of roles granted to the current user.
+At the end of [paragraph 21.1|guide:security_1] we have introduced 
AbstractAuthenticatedWebSession's method getRoles which is provided to support 
role-based authorization returning the set of roles granted to the current user.
 
 In Wicket roles are simple strings like “BASIC_USER” or “ADMIN” (they 
don't need to be capitalized) and they are handled with class 
@org.apache.wicket.authroles.authorization.strategies.role.Roles@. This class 
extends standard HashSet collection adding some functionalities to check 
whether the set contains one or more roles. Class @Roles@ already defines roles 
Roles.USER and Roles.ADMIN.
 
@@ -116,7 +116,7 @@ Roles can be adopted to apply security restrictions on our 
pages and components.
 The difference between these two strategies is that 
@MetaDataRoleAuthorizationStrategy@ handles role-based authorizations with 
Wicket metadata while @AnnotationsRoleAuthorizationStrategy@ uses Java 
annotations.
 
 {note}
-Application class @AuthenticatedWebApplication@ already sets 
@MetaDataRoleAuthorizationStrategy@ and @AnnotationsRoleAuthorizationStrategy@ 
as its own authorization strategies (it uses a compound strategy as we will see 
in paragraph 20.2).
+Application class @AuthenticatedWebApplication@ already sets 
@MetaDataRoleAuthorizationStrategy@ and @AnnotationsRoleAuthorizationStrategy@ 
as its own authorization strategies (it uses a compound strategy as we will see 
in [paragraph 21.2|guide:security_2]).
 
 The code that we will see in the next examples is for illustrative purpose 
only. If our application class inherits from @AuthenticatedWebApplication@ we 
won't need to configure anything to use these two strategies.
 {note}
@@ -217,7 +217,7 @@ The access-denied page can be customized using method 
@setAccessDeniedPage(Class
    }
 {code}
 
-Just like custom “Page expired” page (see chapter 6.2.5), also custom 
“Access denied” page must be bookmarkable.
+Just like custom “Page expired” page (see [chapter 
8.2.5|guide:versioningCaching_2]), also custom “Access denied” page must be 
bookmarkable.
 
 h4. Using roles with annotations
 

http://git-wip-us.apache.org/repos/asf/wicket/blob/8929074f/wicket-user-guide/src/docs/guide/security/security_3.gdoc
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/docs/guide/security/security_3.gdoc 
b/wicket-user-guide/src/docs/guide/security/security_3.gdoc
index 62be06b..26d58e3 100644
--- a/wicket-user-guide/src/docs/guide/security/security_3.gdoc
+++ b/wicket-user-guide/src/docs/guide/security/security_3.gdoc
@@ -4,7 +4,7 @@ HTTPS is the standard technology adopted on Internet to create 
a secure communic
 
 In Wicket we can easily protect our pages with HTTPS mounting a special 
request mapper called @HttpsMapper@ and using annotation RequireHttps with 
those pages we want to serve over this protocol. Both these two entities are in 
package @org.apache.wicket.protocol.https@.
 
-HttpsMapper wraps an existing mapper and redirects incoming requests to HTTPS 
if the related response must render a page containing annotation 
@RequireHttps@. Most of the times the wrapped mapper will be the root one, just 
like we saw before for @CryptoMapper@ in paragraph 10.6.
+HttpsMapper wraps an existing mapper and redirects incoming requests to HTTPS 
if the related response must render a page containing annotation 
@RequireHttps@. Most of the times the wrapped mapper will be the root one, just 
like we saw before for @CryptoMapper@ in [paragraph 10.6|guide:urls_6].
 
 Another parameter needed to build a @HttpsMapper@ is an instance of class 
@HttpsConfi@g. This class allows us to specify which ports must be used for 
HTTPS and HTTP. By default the port numbers used by these two protocols are 
respectively 443 and 80.
 

http://git-wip-us.apache.org/repos/asf/wicket/blob/8929074f/wicket-user-guide/src/docs/guide/testing/testing_1.gdoc
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/docs/guide/testing/testing_1.gdoc 
b/wicket-user-guide/src/docs/guide/testing/testing_1.gdoc
index 04a2eda..3fbb7fc 100644
--- a/wicket-user-guide/src/docs/guide/testing/testing_1.gdoc
+++ b/wicket-user-guide/src/docs/guide/testing/testing_1.gdoc
@@ -238,7 +238,7 @@ tester.executeBehavior(ajaxBehavior));
 
 h3. Using a custom servlet context
 
-In paragraph 13.9 we have seen how to configure our application to store 
resource files into a custom folder placed inside webapp root folder (see 
project @CustomFolder4MarkupExample@). 
+In [paragraph 15.13|guide:resources_13] we have seen how to configure our 
application to store resource files into a custom folder placed inside webapp 
root folder (see project @CustomFolder4MarkupExample@). 
 
 In order to write testing code for applications that use this kind of 
customization, we must tell @WicketTester@ which folder to use as webapp root. 
This is necessary as under test environment we don't have any web server, hence 
it's impossible for @WicketTester@ to retrieve this parameter from servlet 
context.
 

http://git-wip-us.apache.org/repos/asf/wicket/blob/8929074f/wicket-user-guide/src/docs/guide/urls.gdoc
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/docs/guide/urls.gdoc 
b/wicket-user-guide/src/docs/guide/urls.gdoc
index 8353113..d96cb95 100644
--- a/wicket-user-guide/src/docs/guide/urls.gdoc
+++ b/wicket-user-guide/src/docs/guide/urls.gdoc
@@ -1,4 +1,4 @@
-Up to now we used component Link to move from a page to another and we have 
seen that it is quiet similar to a “click” event handler (see paragraph 
2.4). 
+Up to now we used component Link to move from a page to another and we have 
seen that it is quiet similar to a “click” event handler (see [paragraph 
4.4|guide:helloWorld_4]). 
 
 However this component alone is not enough to build all possible kinds of 
links we may need in our pages. Therefore, Wicket offers other link components 
suited for those tasks which can not be accomplished with a basic Link. 
 

http://git-wip-us.apache.org/repos/asf/wicket/blob/8929074f/wicket-user-guide/src/docs/guide/urls/urls_6.gdoc
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/docs/guide/urls/urls_6.gdoc 
b/wicket-user-guide/src/docs/guide/urls/urls_6.gdoc
index 770b1d2..0b0b491 100644
--- a/wicket-user-guide/src/docs/guide/urls/urls_6.gdoc
+++ b/wicket-user-guide/src/docs/guide/urls/urls_6.gdoc
@@ -1,10 +1,10 @@
 
 
-Having structured URLs in our site is a basic requirement if we want to build 
an efficient SEO1 strategy, but it also contributes to improve user experience 
with more intuitive URLs. Wicket provides two different ways to control URL 
generation. The first (and simplest) is to “mount” one or more pages to an 
arbitrary path, while a more powerful technique is to use custom 
implementations of IMapperContext and IPageParametersEncoder interfaces. In the 
next paragraphs we will learn both of these two techniques.
+Having structured URLs in our site is a basic requirement if we want to build 
an efficient SEO strategy, but it also contributes to improve user experience 
with more intuitive URLs. Wicket provides two different ways to control URL 
generation. The first (and simplest) is to “mount” one or more pages to an 
arbitrary path, while a more powerful technique is to use custom 
implementations of IMapperContext and IPageParametersEncoder interfaces. In the 
next paragraphs we will learn both of these two techniques.
 
 h3. Mounting a single page
 
-With Wicket we can mount a page to a given path in much the same way as we map 
a servlet filer to a desired path inside file web.xml (see page 9). Using 
mountPage(String path, Class <T> pageClass) method of the WepApplication class 
we tell Wicket to respond with a new instance of pageClass whenever a user 
navigates to the given path. In the application class of the project 
MountedPagesExample we mount MountedPage to the "/pageMount" path:
+With Wicket we can mount a page to a given path in much the same way as we map 
a servlet filter to a desired path inside file web.xml (see [paragraph 
4.2|guide:helloWorld_2]). Using mountPage(String path, Class <T> pageClass) 
method of the WepApplication class we tell Wicket to respond with a new 
instance of pageClass whenever a user navigates to the given path. In the 
application class of the project MountedPagesExample we mount MountedPage to 
the "/pageMount" path:
 
 {code}
 @Override
@@ -31,7 +31,7 @@ public final <T extends Page> void mountPage(final String 
path,final Class<T> pa
 }
 {code}
 
-Request mappers and the Application's method mount have been introduced in the 
previous chapter (paragraph 9.3).
+Request mappers and the Application's method mount have been introduced in the 
previous chapter ([paragraph 9.3|guide:requestProcessing_3]).
 
 h3. Using parameter placeholders with mounted pages
 
@@ -111,8 +111,8 @@ Interface @org.apache.wicket.request.mapper.IMapperContext@ 
is used by request m
 
 * Namespace: it's the first URL segment of non-mounted pages. By default its 
value is wicket.
 * Identifier for non-bookmarkable URLs: it's the segment that identifies non 
bookmarkable pages. By default its value is page.
-* Identifier for bookmarkable URLs: it's the segment that identifies 
bookmarkable pages. By default its value is bookmarkable (as we have seen 
before in paragraph 8.1.1).
-* Identifier for resources: it's the segment that identifies Wicket resources. 
Its default value is resources. The topic of resource management will be 
covered in chapter 13.
+* Identifier for bookmarkable URLs: it's the segment that identifies 
bookmarkable pages. By default its value is bookmarkable (as we have seen 
before in [paragraph 10.1.1|guide:urls_1]).
+* Identifier for resources: it's the segment that identifies Wicket resources. 
Its default value is resources. The topic of resource management will be 
covered in [chapter 15|guide:resources].
 
 IMapperContext provides a getter method for any segment listed above. By 
default Wicket uses class @org.apache.wicket.DefaultMapperContext@ as mapper 
context.
 

Reply via email to