aboutsummaryrefslogtreecommitdiffstats
path: root/documentation/application
diff options
context:
space:
mode:
Diffstat (limited to 'documentation/application')
-rw-r--r--documentation/application/application-architecture.asciidoc18
-rw-r--r--documentation/application/application-declarative.asciidoc6
-rw-r--r--documentation/application/application-environment.asciidoc10
-rw-r--r--documentation/application/application-errors.asciidoc2
-rw-r--r--documentation/application/application-events.asciidoc2
-rw-r--r--documentation/application/application-lifecycle.asciidoc20
-rw-r--r--documentation/application/application-notifications.asciidoc2
-rw-r--r--documentation/application/application-overview.asciidoc26
-rw-r--r--documentation/application/application-resources.asciidoc10
9 files changed, 48 insertions, 48 deletions
diff --git a/documentation/application/application-architecture.asciidoc b/documentation/application/application-architecture.asciidoc
index 5e87ea8531..a26edc77ad 100644
--- a/documentation/application/application-architecture.asciidoc
+++ b/documentation/application/application-architecture.asciidoc
@@ -50,19 +50,19 @@ The actual UI is shown in <<figure.application.architecture.example>>.
.Simple hierarchical UI
image::img/ui-architecture-hierarchical.png[width=70%, scaledwidth=90%]
-Instead of building the layout in Java, you can also use a declarative design, as described later in <<dummy/../../../framework/application/application-declarative#application.declarative,"Designing UIs Declaratively">>.
+Instead of building the layout in Java, you can also use a declarative design, as described later in <<application-declarative#application.declarative,"Designing UIs Declaratively">>.
The examples given for the declarative layouts give exactly the same UI layout as built from the components above.
The easiest way to create declarative designs is to use Vaadin Designer.
The built-in components are described in
-<<dummy/../../../framework/components/components-overview.asciidoc#components.overview,"User
+<<../components/components-overview.asciidoc#components.overview,"User
Interface Components">> and the layout components in
-<<dummy/../../../framework/layout/layout-overview.asciidoc#layout.overview,"Managing
+<<../layout/layout-overview.asciidoc#layout.overview,"Managing
Layout">>.
The example application described above just is, it does not do anything. User
interaction is handled with event listeners, as described a bit later in
-<<dummy/../../../framework/application/application-events#application.events,"Handling
+<<application-events#application.events,"Handling
Events with Listeners">>.
[[application.architecture.architecture]]
@@ -79,7 +79,7 @@ architectural patterns in Vaadin applications.
The subsequent sections describe some basic application patterns. For more
information about common architectures, see
-<<dummy/../../../framework/advanced/advanced-architecture#advanced.architecture,"Advanced
+<<../advanced/advanced-architecture#advanced.architecture,"Advanced
Application Architectures">>, which discusses layered architectures, the
Model-View-Presenter (MVP) pattern, and so forth.
@@ -145,7 +145,7 @@ MyView myview = new MyView();
----
For a more detailed description of [classname]#Composite# and [classname]#CustomComponent#, see
-<<dummy/../../../framework/components/components-customcomponent#components.customcomponent,"Composition
+<<../components/components-customcomponent#components.customcomponent,"Composition
with Composite and CustomComponent">>.
@@ -163,11 +163,11 @@ sub-views.
.Navigation Between Views
image::img/view-navigation-hi.png[width=80%, scaledwidth=100%]
-The [classname]#Navigator# described in <<dummy/../../../framework/advanced/advanced-navigator#advanced.navigator,"Navigating in an Application">> is a view manager that provides a flexible way to navigate between views and sub-views, while managing the URI fragment in the page URL to allow bookmarking, linking, and going back in the browser history.
+The [classname]#Navigator# described in <<../advanced/advanced-navigator#advanced.navigator,"Navigating in an Application">> is a view manager that provides a flexible way to navigate between views and sub-views, while managing the URI fragment in the page URL to allow bookmarking, linking, and going back in the browser history.
Often Vaadin application views are part of something bigger.
In such cases, you may need to integrate the Vaadin applications with the other website.
-You can use the embedding techniques described in <<dummy/../../../framework/advanced/advanced-embedding#advanced.embedding,"Embedding UIs in Web Pages">>.
+You can use the embedding techniques described in <<../advanced/advanced-embedding#advanced.embedding,"Embedding UIs in Web Pages">>.
[[application.architecture.accessing]]
@@ -206,5 +206,5 @@ You can get the page and the session also from a [classname]#UI# with
The static methods use the built-in ThreadLocal support in the classes.
ifdef::web[]
-The pattern is described in <<dummy/../../../framework/advanced/advanced-global#advanced.global.threadlocal,"ThreadLocal Pattern">>.
+The pattern is described in <<../advanced/advanced-global#advanced.global.threadlocal,"ThreadLocal Pattern">>.
endif::web[]
diff --git a/documentation/application/application-declarative.asciidoc b/documentation/application/application-declarative.asciidoc
index dd9da299d4..a3730ab4dd 100644
--- a/documentation/application/application-declarative.asciidoc
+++ b/documentation/application/application-declarative.asciidoc
@@ -81,7 +81,7 @@ element.
The above design defines the same UI layout as done earlier with Java code, and
illustrated in
-<<dummy/../../../framework/application/application-architecture#figure.application.architecture.example,"Simple
+<<application-architecture#figure.application.architecture.example,"Simple
Hierarchical UI">>.
@@ -345,7 +345,7 @@ public class DeclarativeViewUI extends UI {
=== Designs in View Navigation
To use a design in view navigation, as described in
-<<dummy/../../../framework/advanced/advanced-navigator#advanced.navigator,"Navigating
+<<../advanced/advanced-navigator#advanced.navigator,"Navigating
in an Application">>, you just need to implement the [interfacename]#View#
interface.
@@ -368,5 +368,5 @@ navigator.addView(MAINVIEW, new MainView());
----
See
-<<dummy/../../../framework/advanced/advanced-navigator#advanced.navigator.pathparam,"Handling
+<<../advanced/advanced-navigator#advanced.navigator.pathparam,"Handling
Path Parameters">> for a complete example.
diff --git a/documentation/application/application-environment.asciidoc b/documentation/application/application-environment.asciidoc
index 51240c59f8..87e1591082 100644
--- a/documentation/application/application-environment.asciidoc
+++ b/documentation/application/application-environment.asciidoc
@@ -62,7 +62,7 @@ If your application uses a special theme (look and feel), you must include it in
Widget sets (OPTIONAL)::
If your application uses add-ons or custom widgets, they must be compiled to the [filename]#VAADIN/widgetset/# directory.
When using add-ons, this is done automatically in Maven projects.
-See <<dummy/../../../framework/addons/addons-maven#addons.maven, "Using Add-ons in a Maven Project">> for more information.
+See <<../addons/addons-maven#addons.maven, "Using Add-ons in a Maven Project">> for more information.
[[application.environment.webservlet]]
== Web Servlet Class
@@ -177,7 +177,7 @@ In a project that does not use add-ons or custom widgets, the [classname]#com.va
It contains all the widgets for the built-in Vaadin components.
When using add-ons, the Vaadin Maven Plugin automatically defines an [classname]#AppWidgetSet# that includes all the add-on widget sets.
-The widget set must be compiled, as described in <<dummy/../../../framework/addons/addons-overview.asciidoc#addons.overview,"Using Vaadin Add-ons">> (for add-ons) or <<dummy/../../../framework/clientside/clientside-compiling#clientside.compiling,"Compiling a Client-Side Module">> (for custom widgets and client-side modules), and properly deployed with the application.
+The widget set must be compiled, as described in <<../addons/addons-overview.asciidoc#addons.overview,"Using Vaadin Add-ons">> (for add-ons) or <<../clientside/clientside-compiling#clientside.compiling,"Compiling a Client-Side Module">> (for custom widgets and client-side modules), and properly deployed with the application.
[[application.environment.servlet-mapping]]
== Servlet Mapping with URL Patterns
@@ -262,7 +262,7 @@ features. For production use, you should have the
[classname]#@VaadinServletConfiguration#.
The parameter and the debug and production modes are described in more detail in
-<<dummy/../../../framework/advanced/advanced-debug#advanced.debug,"Debug Mode
+<<../advanced/advanced-debug#advanced.debug,"Debug Mode
and Window">>.
@@ -282,7 +282,7 @@ defined in the context as well.
=== UI Heartbeat
Vaadin monitors UIs by using a heartbeat, as explained in
-<<dummy/../../../framework/application/application-lifecycle#application.lifecycle.ui-expiration,"UI
+<<application-lifecycle#application.lifecycle.ui-expiration,"UI
Expiration">>. If the user closes the browser window of a Vaadin application or
navigates to another page, the Client-Side Engine running in the page stops
sending heartbeat to the server, and the server eventually cleans up the
@@ -330,7 +330,7 @@ request.
=== Push Mode
You can enable server push, as described in
-<<dummy/../../../framework/advanced/advanced-push#advanced.push,"Server Push">>,
+<<../advanced/advanced-push#advanced.push,"Server Push">>,
for a UI either with a [classname]#@Push# annotation for the UI or in the
descriptor. The push mode is defined with a [parameter]#pushmode# init parameter. The
[literal]#++automatic++# mode pushes changes to the browser automatically after
diff --git a/documentation/application/application-errors.asciidoc b/documentation/application/application-errors.asciidoc
index 8f4aa8f040..b8e08ca413 100644
--- a/documentation/application/application-errors.asciidoc
+++ b/documentation/application/application-errors.asciidoc
@@ -81,7 +81,7 @@ getService().setSystemMessagesProvider(
----
See
-<<dummy/../../../framework/application/application-lifecycle#application.lifecycle.servlet-service,"Vaadin
+<<application-lifecycle#application.lifecycle.servlet-service,"Vaadin
Servlet, Portlet, and Service">> for information about customizing Vaadin
servlets.
diff --git a/documentation/application/application-events.asciidoc b/documentation/application/application-events.asciidoc
index f32d70e514..350a9abc21 100644
--- a/documentation/application/application-events.asciidoc
+++ b/documentation/application/application-events.asciidoc
@@ -8,7 +8,7 @@ layout: page
= Handling Events with Listeners
Let us put into practice what we learned of event handling in
-<<dummy/../../../framework/architecture/architecture-events#architecture.events,"Events
+<<../architecture/architecture-events#architecture.events,"Events
and Listeners">>. You can implement listener interfaces by directly using lambda expressions, method references or anonymous classes.
For example, in the following, we use a lambda expression to handle button click
diff --git a/documentation/application/application-lifecycle.asciidoc b/documentation/application/application-lifecycle.asciidoc
index 657198f71b..eb2c63ec38 100644
--- a/documentation/application/application-lifecycle.asciidoc
+++ b/documentation/application/application-lifecycle.asciidoc
@@ -17,7 +17,7 @@ actually work and, especially, in what circumstances their execution ends.
Before a Vaadin application can be used, it has to be deployed to a Java web
server, as described in
-<<dummy/../../../framework/application/application-environment#application.environment,"Deploying
+<<application-environment#application.environment,"Deploying
an Application">>. Deploying reads the servlet classes annotated with the
[literal]#++@WebServlet++# annotation or the [filename]#web.xml#
deployment descriptor in the application to register servlets for
@@ -130,7 +130,7 @@ lower-level session objects, [interfacename]#HttpSession# and
[interfacename]#PortletSession#, through a [classname]#WrappedSession#. You can
also access the deployment configuration through [classname]#VaadinSession#, as
described in
-<<dummy/../../../framework/application/application-environment#application.environment.configuration,"Deployment
+<<application-environment#application.environment.configuration,"Deployment
Configuration">>.
A session ends after the last [classname]#UI# instance expires or is closed, as
@@ -219,7 +219,7 @@ separate [filename]#vaadinBootstrap.js# script.
You can also use entirely custom loader code, such as in a static HTML page, as
described in
-<<dummy/../../../framework/advanced/advanced-embedding#advanced.embedding,"Embedding
+<<../advanced/advanced-embedding#advanced.embedding,"Embedding
UIs in Web Pages">>.
@@ -278,7 +278,7 @@ The heartbeats occur at an interval of 5 minutes, which can be changed with the
[parameter]#heartbeatInterval# parameter of the servlet. You can configure the
parameter in [classname]#@VaadinServletConfiguration# or in [filename]#web.xml#
as described in
-<<dummy/../../../framework/application/application-environment#application.environment.parameters,"Other
+<<application-environment#application.environment.parameters,"Other
Servlet Configuration Parameters">>.
When the UI cleanup happens, a [classname]#DetachEvent# is sent to all
@@ -305,7 +305,7 @@ programmatically, but redirection is possible. You can redirect the window to
another URL with [methodname]#setLocation()#, as is done in the examples in
<<application.lifecycle.session-closing>>. You can close popup windows by making
JavaScript [methodname]#close()# call for them, as described in
-<<dummy/../../../framework/advanced/advanced-windows#advanced.windows.popup-closing,"Closing
+<<../advanced/advanced-windows#advanced.windows.popup-closing,"Closing
Popup Windows">>.
If you close other UI than the one associated with the current request, they
@@ -332,19 +332,19 @@ setting. ((("session",
((("closeIdleSessions")))
If the [parameter]#closeIdleSessions# parameter of the servlet is set to
[literal]#++true++# in the [filename]#web.xml#, as described in
-<<dummy/../../../framework/application/application-environment#application.environment.web-xml,"Using
+<<application-environment#application.environment.web-xml,"Using
a web.xml Deployment Descriptor">>, the session and all of its UIs are closed
when the timeout specified by the [parameter]#session-timeout# parameter of the
servlet expires after the last non-heartbeat request. Once the session is gone,
the browser will show an Out Of Sync error on the next server request.
((("redirection")))
To avoid the ugly message, you may want to set a redirect URL for the UIs, as described in
-<<dummy/../../../framework/application/application-errors#application.errors.systemmessages,"Customizing
+<<application-errors#application.errors.systemmessages,"Customizing
System
Messages">>.
The related configuration parameters are described in
-<<dummy/../../../framework/application/application-environment#application.environment.parameters,"Other
+<<application-environment#application.environment.parameters,"Other
Servlet Configuration Parameters">>.
((("[interfacename]#SessionDestroyListener#")))
@@ -405,7 +405,7 @@ and, by default, reloads the UI when the message is clicked.
((("system messages")))
You can customize the message and the redirect URL in the system messages.
-It is described in <<dummy/../../../framework/application/application-errors#application.errors.systemmessages,"Customizing System Messages">>.
+It is described in <<application-errors#application.errors.systemmessages,"Customizing System Messages">>.
((("heartbeat")))
((("UI", "heartbeat")))
@@ -417,7 +417,7 @@ UIs detect the situation faster, you need to make the heart beat faster, as was
done in the example above. You can also use server push to close the other UIs
immediately, as is done in the following example. Access to the UIs must be
synchronized as described in
-<<dummy/../../../framework/advanced/advanced-push#advanced.push,"Server Push">>.
+<<../advanced/advanced-push#advanced.push,"Server Push">>.
[source, java]
----
diff --git a/documentation/application/application-notifications.asciidoc b/documentation/application/application-notifications.asciidoc
index 8e0a08e075..3721aeb099 100644
--- a/documentation/application/application-notifications.asciidoc
+++ b/documentation/application/application-notifications.asciidoc
@@ -52,7 +52,7 @@ is disabled by default, but can be enabled with
markup in the caption and description of a notification. If it is in any way
possible to get the notification content from user input, you should either
disallow HTML or sanitize the content carefully, as noted in
-<<dummy/../../../framework/advanced/advanced-security#advanced.security.sanitizing,"Sanitizing
+<<../advanced/advanced-security#advanced.security.sanitizing,"Sanitizing
User Input to Prevent Cross-Site Scripting">>.
[[figure.notification.example2]]
diff --git a/documentation/application/application-overview.asciidoc b/documentation/application/application-overview.asciidoc
index 0e653da9bd..2f41604ec6 100644
--- a/documentation/application/application-overview.asciidoc
+++ b/documentation/application/application-overview.asciidoc
@@ -54,7 +54,7 @@ applications with Vaadin Framework much like you would develop desktop applicati
The most important task in the initialization is the creation of the initial
user interface. This, and the deployment of a UI as a Java Servlet in the
Servlet container, as described in
-<<dummy/../../../framework/application/application-environment#application.environment,"Deploying
+<<application-environment#application.environment,"Deploying
an Application">>, are the minimal requirements for an application.
Below is a short overview of the other basic elements of an application besides
@@ -76,7 +76,7 @@ The current UI object can be accessed globally with
instance for the currently processed request
ifdef::web[]
(see
-<<dummy/../../../framework/advanced/advanced-global#advanced.global.threadlocal,"ThreadLocal
+<<../advanced/advanced-global#advanced.global.threadlocal,"ThreadLocal
Pattern">>)
endif::web[]
.
@@ -102,28 +102,28 @@ handle. __Field components__ are intended for inputting values and can be
directly bound to data using the data model of the framework. You can make your own user
interface components through either inheritance or composition. For a thorough
reference of user interface components, see
-<<dummy/../../../framework/components/components-overview.asciidoc#components.overview,"User
+<<../components/components-overview.asciidoc#components.overview,"User
Interface Components">>, for layout components, see
-<<dummy/../../../framework/layout/layout-overview.asciidoc#layout.overview,"Managing
+<<../layout/layout-overview.asciidoc#layout.overview,"Managing
Layout">>, and for compositing components, see
-<<dummy/../../../framework/components/components-customcomponent#components.customcomponent,"Composition
+<<../components/components-customcomponent#components.customcomponent,"Composition
with Composite and CustomComponent">>.
Events and Listeners:: Vaadin Framework follows an event-driven programming paradigm, in which events, and
listeners that handle the events, are the basis of handling user interaction in
an application (although also server push is possible as described in
-<<dummy/../../../framework/advanced/advanced-push#advanced.push,"Server
+<<../advanced/advanced-push#advanced.push,"Server
Push">>).
-<<dummy/../../../framework/architecture/architecture-events#architecture.events,"Events
+<<../architecture/architecture-events#architecture.events,"Events
and Listeners">> gave an introduction to events and listeners from an
architectural point-of-view, while
-<<dummy/../../../framework/application/application-events#application.events,"Handling
+<<application-events#application.events,"Handling
Events with Listeners">> later in this chapter takes a more practical view.
Resources:: A user interface can display images or have links to web pages or downloadable
documents. These are handled as __resources__, which can be external or provided
by the web server or the application itself.
-<<dummy/../../../framework/application/application-resources#application.resources,"Images
+<<application-resources#application.resources,"Images
and Other Resources">> gives a practical overview of the different types of
resources.
@@ -132,11 +132,11 @@ logic is handled as Java code, the presentation is defined in __themes__ as CSS
or SCSS. Vaadin includes some built-in themes. User-defined themes can, in
addition to style sheets, include HTML templates that define custom layouts and
other theme resources, such as images. Themes are discussed in detail in
-<<dummy/../../../framework/themes/themes-overview.asciidoc#themes.overview,"Themes">>,
+<<../themes/themes-overview.asciidoc#themes.overview,"Themes">>,
custom layouts in
-<<dummy/../../../framework/layout/layout-customlayout#layout.customlayout,"Custom
+<<../layout/layout-customlayout#layout.customlayout,"Custom
Layouts">>, and theme resources in
-<<dummy/../../../framework/application/application-resources#application.resources.theme,"Theme
+<<application-resources#application.resources.theme,"Theme
Resources">>.
Data Binding:: With data binding, any field component in Vaadin Framework can be bound to the properties
@@ -145,5 +145,5 @@ can get their values from and update user input to the data model directly, with
the need for any control code. Similarly, any select component can be bound to a
__data provider__, fetching its items from a Java Collection or a backend such as an SQL database.
For a complete overview of data binding in Vaadin, please refer to
-<<dummy/../../../framework/datamodel/datamodel-overview.asciidoc#datamodel.overview,"Binding
+<<../datamodel/datamodel-overview.asciidoc#datamodel.overview,"Binding
Components to Data">>. \ No newline at end of file
diff --git a/documentation/application/application-resources.asciidoc b/documentation/application/application-resources.asciidoc
index 5c3b667c71..e6667b9e31 100644
--- a/documentation/application/application-resources.asciidoc
+++ b/documentation/application/application-resources.asciidoc
@@ -12,7 +12,7 @@ embedded content, or downloadable files, that the browser has to load from the
server. Image resources are typically displayed with the [classname]#Image#
component or as component icons. Embedded browser frames can be displayed with [classname]#BrowserFrame#, and
other content with the [classname]#Embedded# component, as described in
-<<dummy/../../../framework/components/components-embedded#components.embedded,"Embedded
+<<../components/components-embedded#components.embedded,"Embedded
Resources">>. Downloadable files are usually provided by clicking a
[classname]#Link# or using the [classname]#FileDownloader# extension.
@@ -23,7 +23,7 @@ them dynamically. The resource request interfaces in Vaadin allow applications
to both refer to static resources as well as dynamically create them. The
dynamic creation includes the [classname]#StreamResource# class and the
[interfacename]#RequestHandler# described in
-<<dummy/../../../framework/advanced/advanced-requesthandler#advanced.requesthandler,"Request
+<<../advanced/advanced-requesthandler#advanced.requesthandler,"Request
Handlers">>.
Vaadin also provides low-level facilities for retrieving the URI and other
@@ -33,7 +33,7 @@ handling URIs and parameters to provide resources and functionalities.
Notice that using request handlers to create "pages" is not normally meaningful
in Vaadin or in AJAX applications generally. Please see
-<<dummy/../../../framework/architecture/architecture-technology#architecture.technology.ajax,"AJAX">>
+<<../architecture/architecture-technology#architecture.technology.ajax,"AJAX">>
for a detailed explanation.
[[application.resources.api]]
@@ -129,7 +129,7 @@ Image image = new Image("My Theme Image", resource);
----
To use theme resources, you must set the theme for the UI. See
-<<dummy/../../../framework/themes/themes-overview.asciidoc#themes.overview,"Themes">>
+<<../themes/themes-overview.asciidoc#themes.overview,"Themes">>
for more information regarding themes.
@@ -223,5 +223,5 @@ The resulting image is shown in <<figure.application.resource.stream>>.
image::img/application_streamresource.png[width=25%, scaledwidth=25%]
Another way to create dynamic content is a request handler, described in
-<<dummy/../../../framework/advanced/advanced-requesthandler#advanced.requesthandler,"Request
+<<../advanced/advanced-requesthandler#advanced.requesthandler,"Request
Handlers">>.