299 lines
12 KiB
XML
299 lines
12 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
|
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
|
|
|
|
<chapter id="introduction">
|
|
<title>Introduction</title>
|
|
<sect1 id="manual-overview">
|
|
<title>What this guide covers</title>
|
|
<para>
|
|
This guide covers all aspects of Spring Web Flow.
|
|
It covers implementing flows in end-user applications and working with the feature set.
|
|
It also covers extending the framework and the overall architectural model.
|
|
</para>
|
|
</sect1>
|
|
<sect1 id="system-requirements">
|
|
<title>What Web Flow requires to run</title>
|
|
<para>
|
|
Java 1.5 or higher
|
|
</para>
|
|
<para>
|
|
Spring 3.0 or higher
|
|
</para>
|
|
</sect1>
|
|
<sect1 id="support">
|
|
<title>Where to get support</title>
|
|
<para>
|
|
Professional from-the-source support on Spring Web Flow is available from
|
|
<ulink url="http://www.springsource.com">SpringSource</ulink>, the company behind Spring, and
|
|
<ulink url="http://www.ervacon.com">Ervacon</ulink>, operated by Web Flow project co-founder Erwin Vervaet
|
|
</para>
|
|
</sect1>
|
|
<sect1 id="development">
|
|
<title>Where to follow development</title>
|
|
<para>
|
|
You can help make Web Flow best serve the needs of the Spring community by interacting with developers
|
|
at the <ulink url="http://forum.springframework.org">Spring Community Forums</ulink>.
|
|
</para>
|
|
<para>
|
|
Report bugs and influence the Web Flow project roadmap using the <ulink url="http://jira.springframework.org">Spring Issue Tracker</ulink>.
|
|
</para>
|
|
<para>
|
|
Subscribe to the <ulink url="http://www.springframework.org">Spring Community Portal</ulink> for the latest Spring news and announcements.
|
|
</para>
|
|
<para>
|
|
Visit the <ulink url="http://www.springframework.org/webflow">Web Flow Project Home</ulink> for more resources on the project.
|
|
</para>
|
|
</sect1>
|
|
<sect1 id="jars-mvn-central">
|
|
<title>How to access Web Flow artifacts from Maven Central</title>
|
|
<para>
|
|
Each jar in the Web Flow distribution is available in the <ulink url="http://repo1.maven.org/maven2/">Maven Central Repository</ulink>.
|
|
This allows you to easily integrate Web Flow into your application if you are already using Maven as the build system for your web development project.
|
|
</para>
|
|
<para>
|
|
To access Web Flow jars from Maven Central, declare the following dependency in your pom (also adds "spring-binding", "spring-js", and "spring-js-resources"):
|
|
</para>
|
|
<programlisting language="xml"><![CDATA[
|
|
<dependency>
|
|
<groupId>org.springframework.webflow</groupId>
|
|
<artifactId>spring-webflow</artifactId>
|
|
<version>2.2.0.RELEASE</version>
|
|
</dependency>
|
|
]]>
|
|
</programlisting>
|
|
<para>
|
|
If using JavaServer Faces, declare the following dependency in your pom (also adds the above dependencies):
|
|
</para>
|
|
<programlisting language="xml"><![CDATA[
|
|
<dependency>
|
|
<groupId>org.springframework.webflow</groupId>
|
|
<artifactId>spring-faces</artifactId>
|
|
<version>2.2.0.RELEASE</version>
|
|
</dependency>
|
|
]]>
|
|
</programlisting>
|
|
</sect1>
|
|
<sect1 id="jars-bundle-repository">
|
|
<title>How to access Web Flow artifacts from the SpringSource Bundle Repository</title>
|
|
<para>
|
|
Each jar in the Web Flow distribution is also available in the <ulink url="http://www.springsource.com/repository">SpringSource Enterprise Bundle Repository</ulink>.
|
|
Use this repository when you wish to run Spring Web Flow in an OSGi environment such as the <ulink url="http://www.springsource.com/products/dmserver">SpringSource dm Server</ulink>.
|
|
All jars obtained from the SpringSource Bundle Repository are OSGi-ready.
|
|
</para>
|
|
<sect2 id="jars-maven">
|
|
<title>Accessing Web Flow bundles with Maven</title>
|
|
<para>
|
|
To access bundles using Maven, add the following repositories to your Maven pom:
|
|
</para>
|
|
<programlisting language="xml"><![CDATA[
|
|
<repository>
|
|
<id>com.springsource.repository.bundles.release</id>
|
|
<name>SpringSource Enterprise Bundle Repository - SpringSource Releases</name>
|
|
<url>http://repository.springsource.com/maven/bundles/release</url>
|
|
</repository>
|
|
|
|
<repository>
|
|
<id>com.springsource.repository.bundles.external</id>
|
|
<name>SpringSource Enterprise Bundle Repository - External Releases</name>
|
|
<url>http://repository.springsource.com/maven/bundles/external</url>
|
|
</repository>]]>
|
|
</programlisting>
|
|
<para>
|
|
Then declare the following dependency:
|
|
</para>
|
|
<programlisting language="xml"><![CDATA[
|
|
<dependency>
|
|
<groupId>org.springframework.webflow</groupId>
|
|
<artifactId>org.springframework.webflow</artifactId>
|
|
<version>2.2.0.RELEASE</version>
|
|
</dependency>]]>
|
|
</programlisting>
|
|
<para>
|
|
And if using JavaServer Faces:
|
|
</para>
|
|
<programlisting language="xml"><![CDATA[
|
|
<dependency>
|
|
<groupId>org.springframework.webflow</groupId>
|
|
<artifactId>org.springframework.faces</artifactId>
|
|
<version>2.2.0.RELEASE</version>
|
|
</dependency>]]>
|
|
</programlisting>
|
|
<para>
|
|
Note the Web Flow artifacts in the SpringSource Bundle Repository are indexed under different ids because their transitive dependencies are different than the Maven Central artifacts.
|
|
The difference is the transitive jars such as commons-logging have been patched by SpringSource to add the metadata required to make them OSGi-compatible.
|
|
</para>
|
|
</sect2>
|
|
<sect2 id="jars-ivy">
|
|
<title>Accessing Web Flow bundles with Ivy</title>
|
|
<para>
|
|
To access bundles using Ivy, add the following repositories to your Ivy config:
|
|
</para>
|
|
<programlisting language="xml"><![CDATA[
|
|
<url name="com.springsource.repository.bundles.release">
|
|
<ivy pattern="http://repository.springsource.com/ivy/bundles/release/
|
|
[organisation]/[module]/[revision]/[artifact]-[revision].[ext]" />
|
|
<artifact pattern="http://repository.springsource.com/ivy/bundles/release/
|
|
[organisation]/[module]/[revision]/[artifact]-[revision].[ext]" />
|
|
</url>
|
|
|
|
<url name="com.springsource.repository.bundles.external">
|
|
<ivy pattern="http://repository.springsource.com/ivy/bundles/external/
|
|
[organisation]/[module]/[revision]/[artifact]-[revision].[ext]" />
|
|
<artifact pattern="http://repository.springsource.com/ivy/bundles/external/
|
|
[organisation]/[module]/[revision]/[artifact]-[revision].[ext]" />
|
|
</url>]]>
|
|
</programlisting>
|
|
<para>
|
|
Then declare the following dependencies (also adds "org.springframework.binding",
|
|
"org.springframework.js", and "org.springframework.spring.js"):
|
|
</para>
|
|
<programlisting language="xml"><![CDATA[
|
|
<dependency org="org.springframework.webflow" name="org.springframework.webflow"
|
|
rev="2.2.0.RELEASE" conf="compile->runtime" />]]>
|
|
</programlisting>
|
|
<para>
|
|
And if using JavaServerFaces:
|
|
</para>
|
|
<programlisting language="xml"><![CDATA[
|
|
<dependency org="org.springframework.webflow" name="org.springframework.faces"
|
|
rev="2.2.0.RELEASE" conf="compile->runtime" />]]>
|
|
</programlisting>
|
|
</sect2>
|
|
<sect2 id="webflow-dm-server-lib">
|
|
<title>Accessing the dm Server Web Flow library</title>
|
|
<para>
|
|
A dm Server library for Web Flow is also available if you are deploying to a dm Server environment.
|
|
Import this library in your MANIFEST.mf to automatically import all Web Flow bundles.
|
|
To access the library, add the following repository:
|
|
</para>
|
|
<programlisting language="xml"><![CDATA[
|
|
<repository>
|
|
<id>com.springsource.repository.libraries.release</id>
|
|
<name>SpringSource Enterprise Bundle Repository - SpringSource Library Releases</name>
|
|
<url>http://repository.springsource.com/maven/libraries/release</url>
|
|
</repository>]]>
|
|
</programlisting>
|
|
<para>
|
|
And declare the following dependency:
|
|
</para>
|
|
<programlisting language="xml"><![CDATA[
|
|
<dependency>
|
|
<groupId>org.springframework.webflow</groupId>
|
|
<artifactId>org.springframework.webflow-library</artifactId>
|
|
<type>libd</type>
|
|
<version>2.2.0.RELEASE</version>
|
|
</dependency>]]>
|
|
</programlisting>
|
|
</sect2>
|
|
</sect1>
|
|
<sect1>
|
|
<title>How to access nightly builds</title>
|
|
<para>
|
|
Nightly snapshots of Web Flow development branches are available using Maven, and distribution zips are also available for download.
|
|
These snapshot builds are useful for testing out fixes you depend on in advance of the next release, and provide a convenient way for you to provide feedback about whether a fix meets your needs.
|
|
</para>
|
|
<para>
|
|
If using Maven, you may obtain snapshots from either the SpringSource-managed Maven Central-compatible repository or the SpringSource Enterprise Bundle Repository.
|
|
Use the <ulink url="http://s3browse.com/explore/maven.springframework.org/snapshot/org/springframework/webflow">Maven Central-compatible snapshot repository</ulink> when your project obtains its other open source dependencies from Maven Central.
|
|
Use the <ulink url="http://s3browse.com/explore/repository.springsource.com/maven/bundles/snapshot/org/springframework/webflow">Spring Source Enterprise Bundle Snapshot Repository</ulink> when you wish to run Web Flow in an OSGi environment.
|
|
</para>
|
|
<sect2>
|
|
<title>Accessing snapshots from the Maven-central compatible repository</title>
|
|
<para>
|
|
Add the following repository your pom:
|
|
</para>
|
|
<programlisting language="xml"><![CDATA[
|
|
<repository>
|
|
<id>org.springsource.maven.snapshot</id>
|
|
<name>SpringSource Maven Central-compatible Snapshot Repository</name>
|
|
<url>http://maven.springframework.org/snapshot</url>
|
|
</repository>]]>
|
|
</programlisting>
|
|
<para>
|
|
Then declare the following dependencies:
|
|
</para>
|
|
<programlisting language="xml"><![CDATA[
|
|
<dependency>
|
|
<groupId>org.springframework.webflow</groupId>
|
|
<artifactId>spring-binding</artifactId>
|
|
<version>x.y.z.BUILD-SNAPSHOT</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.springframework.webflow</groupId>
|
|
<artifactId>spring-js</artifactId>
|
|
<version>x.y.z.BUILD-SNAPSHOT</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.springframework.webflow</groupId>
|
|
<artifactId>spring-webflow</artifactId>
|
|
<version>x.y.z.BUILD-SNAPSHOT</version>
|
|
</dependency>]]>
|
|
</programlisting>
|
|
<para>
|
|
And if using JavaServerFaces:
|
|
</para>
|
|
<programlisting language="xml"><![CDATA[
|
|
<dependency>
|
|
<groupId>org.springframework.webflow</groupId>
|
|
<artifactId>spring-faces</artifactId>
|
|
<version>x.y.z.BUILD-SNAPSHOT</version>
|
|
</dependency>]]>
|
|
</programlisting>
|
|
</sect2>
|
|
<sect2>
|
|
<title>Accessing snapshots from the SpringSource Enterprise Bundle Repository</title>
|
|
<para>
|
|
Add the following repository your pom:
|
|
</para>
|
|
<programlisting language="xml"><![CDATA[
|
|
<repository>
|
|
<id>com.springsource.repository.bundles.snapshot</id>
|
|
<name>SpringSource Enterprise Bundle Snapshot Repository</name>
|
|
<url>http://repository.springsource.com/maven/bundles/snapshot</url>
|
|
</repository>]]>
|
|
</programlisting>
|
|
<para>
|
|
Then declare the following dependencies:
|
|
</para>
|
|
<programlisting language="xml"><![CDATA[
|
|
<dependency>
|
|
<groupId>org.springframework.webflow</groupId>
|
|
<artifactId>org.springframework.binding</artifactId>
|
|
<version>x.y.z.BUILD-SNAPSHOT</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.springframework.webflow</groupId>
|
|
<artifactId>org.springframework.js</artifactId>
|
|
<version>x.y.z.BUILD-SNAPSHOT</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.springframework.webflow</groupId>
|
|
<artifactId>org.springframework.webflow</artifactId>
|
|
<version>x.y.z.BUILD-SNAPSHOT</version>
|
|
</dependency>]]>
|
|
</programlisting>
|
|
<para>
|
|
And if using JavaServerFaces:
|
|
</para>
|
|
<programlisting language="xml"><![CDATA[
|
|
<dependency>
|
|
<groupId>org.springframework.webflow</groupId>
|
|
<artifactId>org.springframework.faces</artifactId>
|
|
<version>x.y.z.BUILD-SNAPSHOT</version>
|
|
</dependency>]]>
|
|
</programlisting>
|
|
</sect2>
|
|
<sect2>
|
|
<title>Accessing snapshot distribution archives</title>
|
|
<para>
|
|
Get the snapshot zip with the most recent CI build number from the <ulink url="http://static.springframework.org/downloads/nightly/snapshot-download.php?project=SWF">Web Flow snapshot download area</ulink>.
|
|
</para>
|
|
</sect2>
|
|
</sect1>
|
|
</chapter>
|