[seam-commits] Seam SVN: r13116 - in modules/documents/trunk: api and 37 other directories.

seam-commits at lists.jboss.org seam-commits at lists.jboss.org
Thu Jun 10 14:03:57 EDT 2010


Author: lincolnthree
Date: 2010-06-10 14:03:55 -0400 (Thu, 10 Jun 2010)
New Revision: 13116

Added:
   modules/documents/trunk/api/
   modules/documents/trunk/api/pom.xml
   modules/documents/trunk/api/src/
   modules/documents/trunk/api/src/main/
   modules/documents/trunk/api/src/main/java/
   modules/documents/trunk/api/src/main/resources/
   modules/documents/trunk/api/src/main/resources/META-INF/
   modules/documents/trunk/api/src/main/resources/META-INF/beans.xml
   modules/documents/trunk/api/src/test/
   modules/documents/trunk/api/src/test/java/
   modules/documents/trunk/api/src/test/java/org/
   modules/documents/trunk/api/src/test/java/org/jboss/
   modules/documents/trunk/api/src/test/java/org/jboss/seam/
   modules/documents/trunk/api/src/test/java/org/jboss/seam/documents/
   modules/documents/trunk/api/src/test/java/org/jboss/seam/documents/test/
   modules/documents/trunk/api/src/test/resources/
   modules/documents/trunk/dist/
   modules/documents/trunk/dist/pom.xml
   modules/documents/trunk/dist/src/
   modules/documents/trunk/dist/src/main/
   modules/documents/trunk/dist/src/main/assembly/
   modules/documents/trunk/dist/src/main/assembly/assembly.xml
   modules/documents/trunk/dist/src/main/assembly/lgpl.txt
   modules/documents/trunk/dist/src/main/assembly/readme.txt
   modules/documents/trunk/docs/
   modules/documents/trunk/docs/reference/
   modules/documents/trunk/docs/reference/pom.xml
   modules/documents/trunk/docs/reference/src/
   modules/documents/trunk/docs/reference/src/main/
   modules/documents/trunk/docs/reference/src/main/assembly/
   modules/documents/trunk/docs/reference/src/main/assembly/assembly.xml
   modules/documents/trunk/docs/reference/src/main/docbook/
   modules/documents/trunk/docs/reference/src/main/docbook/en-US/
   modules/documents/trunk/docs/reference/src/main/docbook/en-US/artifacts.xml
   modules/documents/trunk/docs/reference/src/main/docbook/en-US/author_group.xml
   modules/documents/trunk/docs/reference/src/main/docbook/en-US/book_info.xml
   modules/documents/trunk/docs/reference/src/main/docbook/en-US/components.xml
   modules/documents/trunk/docs/reference/src/main/docbook/en-US/events.xml
   modules/documents/trunk/docs/reference/src/main/docbook/en-US/installation.xml
   modules/documents/trunk/docs/reference/src/main/docbook/en-US/master.xml
   modules/documents/trunk/docs/reference/src/main/docbook/en-US/messages.xml
   modules/documents/trunk/docs/reference/src/main/docbook/en-US/preface.xml
   modules/documents/trunk/docs/reference/src/main/docbook/en-US/scopes.xml
   modules/documents/trunk/impl/
   modules/documents/trunk/impl/pom.xml
   modules/documents/trunk/impl/src/
   modules/documents/trunk/impl/src/main/
   modules/documents/trunk/impl/src/main/java/
   modules/documents/trunk/impl/src/main/java/org/
   modules/documents/trunk/impl/src/main/java/org/jboss/
   modules/documents/trunk/impl/src/main/java/org/jboss/seam/
   modules/documents/trunk/impl/src/main/java/org/jboss/seam/documents/
   modules/documents/trunk/impl/src/main/resources/
   modules/documents/trunk/impl/src/main/resources/META-INF/
   modules/documents/trunk/impl/src/main/resources/META-INF/beans.xml
   modules/documents/trunk/impl/src/main/resources/META-INF/services/
   modules/documents/trunk/impl/src/main/resources/META-INF/services/javax.enterprise.inject.spi.Extension
   modules/documents/trunk/impl/src/test/
   modules/documents/trunk/impl/src/test/java/
   modules/documents/trunk/impl/src/test/java/org/
   modules/documents/trunk/impl/src/test/java/org/jboss/
   modules/documents/trunk/impl/src/test/java/org/jboss/seam/
   modules/documents/trunk/impl/src/test/java/org/jboss/seam/documents/
   modules/documents/trunk/impl/src/test/java/org/jboss/seam/documents/test/
   modules/documents/trunk/impl/src/test/resources/
   modules/documents/trunk/pom.xml
   modules/documents/trunk/readme.txt
Modified:
   modules/documents/trunk/
Log:
Initial skeleton import.


Property changes on: modules/documents/trunk
___________________________________________________________________
Name: svn:ignore
   + .settings


Added: modules/documents/trunk/api/pom.xml
===================================================================
--- modules/documents/trunk/api/pom.xml	                        (rev 0)
+++ modules/documents/trunk/api/pom.xml	2010-06-10 18:03:55 UTC (rev 13116)
@@ -0,0 +1,75 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+
+	<parent>
+		<artifactId>seam-documents-parent</artifactId>
+		<groupId>org.jboss.seam.documents</groupId>
+		<version>3.0.0-SNAPSHOT</version>
+      <relativePath>../pom.xml</relativePath>
+	</parent>
+
+	<artifactId>seam-documents-api</artifactId>
+	<version>3.0.0-SNAPSHOT</version>
+
+	<packaging>jar</packaging>
+	<name>Seam Documents Module API</name>
+
+   <dependencies>
+      <dependency>
+         <groupId>javax.mail</groupId>
+         <artifactId>mail</artifactId>
+         <scope>provided</scope>
+      </dependency>
+
+      <!-- Test Dependencies -->
+      <dependency>
+         <groupId>junit</groupId>
+         <artifactId>junit</artifactId>
+         <scope>test</scope>
+      </dependency>
+      <dependency>
+         <groupId>org.jboss.arquillian</groupId>
+         <artifactId>arquillian-junit</artifactId>
+         <scope>test</scope>
+      </dependency>
+      <dependency>
+         <groupId>org.jboss.arquillian.container</groupId>
+         <artifactId>arquillian-weld-embedded</artifactId>
+         <scope>test</scope>
+      </dependency>
+      <dependency>
+         <groupId>org.jboss.weld</groupId>
+         <artifactId>weld-core</artifactId>
+         <scope>test</scope>
+      </dependency>
+      <dependency>
+         <groupId>org.slf4j</groupId>
+         <artifactId>slf4j-simple</artifactId>
+         <scope>test</scope>
+      </dependency>
+   </dependencies>
+
+	
+	<profiles>
+		<profile>
+			<id>code-coverage</id>
+			<build>
+				<plugins>
+					<plugin>
+						<groupId>org.codehaus.mojo</groupId>
+						<artifactId>emma-maven-plugin</artifactId>
+					</plugin>
+					<plugin>
+						<groupId>org.apache.maven.plugins</groupId>
+						<artifactId>maven-surefire-plugin</artifactId>
+					</plugin>
+					<plugin>
+						<groupId>org.sonatype.maven.plugin</groupId>
+						<artifactId>emma4it-maven-plugin</artifactId>
+					</plugin>
+				</plugins>
+			</build>
+		</profile>
+	</profiles>
+
+</project>

Added: modules/documents/trunk/api/src/main/resources/META-INF/beans.xml
===================================================================
--- modules/documents/trunk/api/src/main/resources/META-INF/beans.xml	                        (rev 0)
+++ modules/documents/trunk/api/src/main/resources/META-INF/beans.xml	2010-06-10 18:03:55 UTC (rev 13116)
@@ -0,0 +1,27 @@
+<!--
+JBoss, Home of Professional Open Source
+Copyright 2010, Red Hat, Inc., and individual contributors
+by the @authors tag. See the copyright.txt in the distribution for a
+full listing of individual contributors.
+
+This is free software; you can redistribute it and/or modify it
+under the terms of the GNU Lesser General Public License as
+published by the Free Software Foundation; either version 2.1 of
+the License, or (at your option) any later version.
+
+This software is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this software; if not, write to the Free
+Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+02110-1301 USA, or see the FSF site: http://www.fsf.org.
+--> 
+<beans xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="
+      http://java.sun.com/xml/ns/javaee
+      http://java.sun.com/xml/ns/javaee/beans_1_0.xsd">
+	
+</beans>

Added: modules/documents/trunk/dist/pom.xml
===================================================================
--- modules/documents/trunk/dist/pom.xml	                        (rev 0)
+++ modules/documents/trunk/dist/pom.xml	2010-06-10 18:03:55 UTC (rev 13116)
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+   <modelVersion>4.0.0</modelVersion>
+
+   <parent>
+      <groupId>org.jboss.seam.documents</groupId>
+      <artifactId>seam-documents-parent</artifactId>
+      <version>3.0.0-SNAPSHOT</version>
+      <relativePath>../pom.xml</relativePath>
+   </parent>
+
+   <artifactId>seam-documents-distribution</artifactId>
+   <name>Seam Documents Distribution</name>
+   <description>Builds a Seam Documents release distribution</description>
+   <packaging>pom</packaging>
+
+   <properties>
+      <maven.deploy.skip>true</maven.deploy.skip>
+   </properties>
+
+   <dependencies>
+      <dependency>
+         <groupId>org.jboss.seam.documents</groupId>
+         <artifactId>seam-documents-api</artifactId>
+	     <version>3.0.0-SNAPSHOT</version>
+         <optional>true</optional>
+      </dependency>
+
+      <dependency>
+         <groupId>org.jboss.seam.documents</groupId>
+         <artifactId>seam-documents</artifactId>
+      	 <version>3.0.0-SNAPSHOT</version>
+         <optional>true</optional>
+      </dependency>
+
+      <dependency>
+         <groupId>org.jboss.seam.documents</groupId>
+         <artifactId>seam-documents-api</artifactId>
+         <version>${project.version}</version>
+         <classifier>sources</classifier>
+         <optional>true</optional>
+      </dependency>
+
+      <dependency>
+         <groupId>org.jboss.seam.documents</groupId>
+         <artifactId>seam-documents-api</artifactId>
+         <version>${project.version}</version>
+         <classifier>javadoc</classifier>
+         <optional>true</optional>
+      </dependency>
+
+
+      <dependency>
+         <groupId>org.jboss.seam.documents</groupId>
+         <artifactId>seam-documents</artifactId>
+         <version>${project.version}</version>
+         <classifier>sources</classifier>
+      </dependency>
+
+      <dependency>
+         <groupId>org.jboss.seam.documents</groupId>
+         <artifactId>seam-documents</artifactId>
+         <version>${project.version}</version>
+         <classifier>javadoc</classifier>
+         <optional>true</optional>
+      </dependency>
+
+      <dependency>
+         <groupId>org.jboss.seam.documents</groupId>
+         <artifactId>seam-documents-reference-guide</artifactId>
+         <version>${project.version}</version>
+         <type>war</type>
+         <optional>true</optional>
+      </dependency>
+
+   </dependencies>
+
+   <build>
+      <finalName>seam-documents</finalName>
+      <plugins>
+         <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-assembly-plugin</artifactId>
+         </plugin>
+      </plugins>
+   </build>
+</project>

Added: modules/documents/trunk/dist/src/main/assembly/assembly.xml
===================================================================
--- modules/documents/trunk/dist/src/main/assembly/assembly.xml	                        (rev 0)
+++ modules/documents/trunk/dist/src/main/assembly/assembly.xml	2010-06-10 18:03:55 UTC (rev 13116)
@@ -0,0 +1,78 @@
+<assembly
+   xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0"
+   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+   xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
+
+   <formats>
+      <format>zip</format>
+   </formats>
+   
+   <baseDirectory>${project.build.finalName}-${project.version}</baseDirectory>
+
+   <!-- Add distribution files -->
+   <fileSets>
+      <fileSet>
+         <directory>src/main/assembly</directory>
+         <outputDirectory>.</outputDirectory>
+         <includes>
+            <include>readme.txt</include>
+            <include>lgpl.txt</include>
+         </includes>
+      </fileSet>
+   </fileSets>
+
+   <dependencySets>
+      <!-- Add necessary binaries -->
+      <dependencySet>
+         <outputDirectory>artifacts</outputDirectory>
+         <useProjectArtifact>false</useProjectArtifact>
+         <includes>
+            <include>org.jboss.seam.faces:seam-faces-api</include>
+            <include>org.jboss.seam.faces:seam-faces</include>
+         </includes>
+         <outputFileNameMapping>${artifact.artifactId}${dashClassifier?}.${artifact.extension}</outputFileNameMapping>
+      </dependencySet>
+      <!-- Add necessary dependencies -->
+      <dependencySet>
+         <outputDirectory>lib</outputDirectory>
+         <useProjectArtifact>false</useProjectArtifact>
+         <useTransitiveDependencies>true</useTransitiveDependencies>
+         <excludes>
+            <exclude>org.jboss.seam.faces:*</exclude>
+         </excludes>
+         <outputFileNameMapping>${artifact.artifactId}${dashClassifier?}.${artifact.extension}</outputFileNameMapping>
+      </dependencySet>
+      <!-- Pull in javadoc for api -->
+      <dependencySet>
+         <outputDirectory>doc/apidocs</outputDirectory>
+         <unpack>true</unpack>
+         <useProjectArtifact>false</useProjectArtifact>
+         <includes>
+            <include>org.jboss.seam.faces:seam-faces-api:jar:javadoc</include>
+         </includes>
+      </dependencySet>
+      <!-- Pull in the example projects -->
+      <dependencySet>
+         <outputDirectory>examples</outputDirectory>
+         <unpack>true</unpack>
+         <useProjectArtifact>false</useProjectArtifact>
+         <includes>
+            <include>org.jboss.seam.faces:seam-faces-examples-short-ly</include>
+         </includes>
+      </dependencySet>
+      <!-- Pull in docbook artifacts -->
+      <dependencySet>
+         <outputDirectory>doc/reference</outputDirectory>
+         <unpack>true</unpack>
+         <useProjectArtifact>false</useProjectArtifact>
+         <includes>
+            <include>org.jboss.seam.faces:seam-faces-reference-guide</include>
+         </includes>
+         <unpackOptions>
+            <excludes>
+               <exclude>META-INF/</exclude>
+            </excludes>
+         </unpackOptions>
+      </dependencySet>
+   </dependencySets>
+</assembly>

Added: modules/documents/trunk/dist/src/main/assembly/lgpl.txt
===================================================================
--- modules/documents/trunk/dist/src/main/assembly/lgpl.txt	                        (rev 0)
+++ modules/documents/trunk/dist/src/main/assembly/lgpl.txt	2010-06-10 18:03:55 UTC (rev 13116)
@@ -0,0 +1,502 @@
+                  GNU LESSER GENERAL PUBLIC LICENSE
+                       Version 2.1, February 1999
+
+ Copyright (C) 1991, 1999 Free Software Foundation, Inc.
+ 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+[This is the first released version of the Lesser GPL.  It also counts
+ as the successor of the GNU Library Public License, version 2, hence
+ the version number 2.1.]
+
+                            Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+Licenses are intended to guarantee your freedom to share and change
+free software--to make sure the software is free for all its users.
+
+  This license, the Lesser General Public License, applies to some
+specially designated software packages--typically libraries--of the
+Free Software Foundation and other authors who decide to use it.  You
+can use it too, but we suggest you first think carefully about whether
+this license or the ordinary General Public License is the better
+strategy to use in any particular case, based on the explanations below.
+
+  When we speak of free software, we are referring to freedom of use,
+not price.  Our General Public Licenses are designed to make sure that
+you have the freedom to distribute copies of free software (and charge
+for this service if you wish); that you receive source code or can get
+it if you want it; that you can change the software and use pieces of
+it in new free programs; and that you are informed that you can do
+these things.
+
+  To protect your rights, we need to make restrictions that forbid
+distributors to deny you these rights or to ask you to surrender these
+rights.  These restrictions translate to certain responsibilities for
+you if you distribute copies of the library or if you modify it.
+
+  For example, if you distribute copies of the library, whether gratis
+or for a fee, you must give the recipients all the rights that we gave
+you.  You must make sure that they, too, receive or can get the source
+code.  If you link other code with the library, you must provide
+complete object files to the recipients, so that they can relink them
+with the library after making changes to the library and recompiling
+it.  And you must show them these terms so they know their rights.
+
+  We protect your rights with a two-step method: (1) we copyright the
+library, and (2) we offer you this license, which gives you legal
+permission to copy, distribute and/or modify the library.
+
+  To protect each distributor, we want to make it very clear that
+there is no warranty for the free library.  Also, if the library is
+modified by someone else and passed on, the recipients should know
+that what they have is not the original version, so that the original
+author's reputation will not be affected by problems that might be
+introduced by others.
+
+  Finally, software patents pose a constant threat to the existence of
+any free program.  We wish to make sure that a company cannot
+effectively restrict the users of a free program by obtaining a
+restrictive license from a patent holder.  Therefore, we insist that
+any patent license obtained for a version of the library must be
+consistent with the full freedom of use specified in this license.
+
+  Most GNU software, including some libraries, is covered by the
+ordinary GNU General Public License.  This license, the GNU Lesser
+General Public License, applies to certain designated libraries, and
+is quite different from the ordinary General Public License.  We use
+this license for certain libraries in order to permit linking those
+libraries into non-free programs.
+
+  When a program is linked with a library, whether statically or using
+a shared library, the combination of the two is legally speaking a
+combined work, a derivative of the original library.  The ordinary
+General Public License therefore permits such linking only if the
+entire combination fits its criteria of freedom.  The Lesser General
+Public License permits more lax criteria for linking other code with
+the library.
+
+  We call this license the "Lesser" General Public License because it
+does Less to protect the user's freedom than the ordinary General
+Public License.  It also provides other free software developers Less
+of an advantage over competing non-free programs.  These disadvantages
+are the reason we use the ordinary General Public License for many
+libraries.  However, the Lesser license provides advantages in certain
+special circumstances.
+
+  For example, on rare occasions, there may be a special need to
+encourage the widest possible use of a certain library, so that it becomes
+a de-facto standard.  To achieve this, non-free programs must be
+allowed to use the library.  A more frequent case is that a free
+library does the same job as widely used non-free libraries.  In this
+case, there is little to gain by limiting the free library to free
+software only, so we use the Lesser General Public License.
+
+  In other cases, permission to use a particular library in non-free
+programs enables a greater number of people to use a large body of
+free software.  For example, permission to use the GNU C Library in
+non-free programs enables many more people to use the whole GNU
+operating system, as well as its variant, the GNU/Linux operating
+system.
+
+  Although the Lesser General Public License is Less protective of the
+users' freedom, it does ensure that the user of a program that is
+linked with the Library has the freedom and the wherewithal to run
+that program using a modified version of the Library.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.  Pay close attention to the difference between a
+"work based on the library" and a "work that uses the library".  The
+former contains code derived from the library, whereas the latter must
+be combined with the library in order to run.
+
+                  GNU LESSER GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License Agreement applies to any software library or other
+program which contains a notice placed by the copyright holder or
+other authorized party saying it may be distributed under the terms of
+this Lesser General Public License (also called "this License").
+Each licensee is addressed as "you".
+
+  A "library" means a collection of software functions and/or data
+prepared so as to be conveniently linked with application programs
+(which use some of those functions and data) to form executables.
+
+  The "Library", below, refers to any such software library or work
+which has been distributed under these terms.  A "work based on the
+Library" means either the Library or any derivative work under
+copyright law: that is to say, a work containing the Library or a
+portion of it, either verbatim or with modifications and/or translated
+straightforwardly into another language.  (Hereinafter, translation is
+included without limitation in the term "modification".)
+
+  "Source code" for a work means the preferred form of the work for
+making modifications to it.  For a library, complete source code means
+all the source code for all modules it contains, plus any associated
+interface definition files, plus the scripts used to control compilation
+and installation of the library.
+
+  Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running a program using the Library is not restricted, and output from
+such a program is covered only if its contents constitute a work based
+on the Library (independent of the use of the Library in a tool for
+writing it).  Whether that is true depends on what the Library does
+and what the program that uses the Library does.
+
+  1. You may copy and distribute verbatim copies of the Library's
+complete source code as you receive it, in any medium, provided that
+you conspicuously and appropriately publish on each copy an
+appropriate copyright notice and disclaimer of warranty; keep intact
+all the notices that refer to this License and to the absence of any
+warranty; and distribute a copy of this License along with the
+Library.
+
+  You may charge a fee for the physical act of transferring a copy,
+and you may at your option offer warranty protection in exchange for a
+fee.
+
+  2. You may modify your copy or copies of the Library or any portion
+of it, thus forming a work based on the Library, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) The modified work must itself be a software library.
+
+    b) You must cause the files modified to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    c) You must cause the whole of the work to be licensed at no
+    charge to all third parties under the terms of this License.
+
+    d) If a facility in the modified Library refers to a function or a
+    table of data to be supplied by an application program that uses
+    the facility, other than as an argument passed when the facility
+    is invoked, then you must make a good faith effort to ensure that,
+    in the event an application does not supply such function or
+    table, the facility still operates, and performs whatever part of
+    its purpose remains meaningful.
+
+    (For example, a function in a library to compute square roots has
+    a purpose that is entirely well-defined independent of the
+    application.  Therefore, Subsection 2d requires that any
+    application-supplied function or table used by this function must
+    be optional: if the application does not supply it, the square
+    root function must still compute square roots.)
+
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Library,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Library, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote
+it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Library.
+
+In addition, mere aggregation of another work not based on the Library
+with the Library (or with a work based on the Library) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may opt to apply the terms of the ordinary GNU General Public
+License instead of this License to a given copy of the Library.  To do
+this, you must alter all the notices that refer to this License, so
+that they refer to the ordinary GNU General Public License, version 2,
+instead of to this License.  (If a newer version than version 2 of the
+ordinary GNU General Public License has appeared, then you can specify
+that version instead if you wish.)  Do not make any other change in
+these notices.
+
+  Once this change is made in a given copy, it is irreversible for
+that copy, so the ordinary GNU General Public License applies to all
+subsequent copies and derivative works made from that copy.
+
+  This option is useful when you wish to copy part of the code of
+the Library into a program that is not a library.
+
+  4. You may copy and distribute the Library (or a portion or
+derivative of it, under Section 2) in object code or executable form
+under the terms of Sections 1 and 2 above provided that you accompany
+it with the complete corresponding machine-readable source code, which
+must be distributed under the terms of Sections 1 and 2 above on a
+medium customarily used for software interchange.
+
+  If distribution of object code is made by offering access to copy
+from a designated place, then offering equivalent access to copy the
+source code from the same place satisfies the requirement to
+distribute the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+  5. A program that contains no derivative of any portion of the
+Library, but is designed to work with the Library by being compiled or
+linked with it, is called a "work that uses the Library".  Such a
+work, in isolation, is not a derivative work of the Library, and
+therefore falls outside the scope of this License.
+
+  However, linking a "work that uses the Library" with the Library
+creates an executable that is a derivative of the Library (because it
+contains portions of the Library), rather than a "work that uses the
+library".  The executable is therefore covered by this License.
+Section 6 states terms for distribution of such executables.
+
+  When a "work that uses the Library" uses material from a header file
+that is part of the Library, the object code for the work may be a
+derivative work of the Library even though the source code is not.
+Whether this is true is especially significant if the work can be
+linked without the Library, or if the work is itself a library.  The
+threshold for this to be true is not precisely defined by law.
+
+  If such an object file uses only numerical parameters, data
+structure layouts and accessors, and small macros and small inline
+functions (ten lines or less in length), then the use of the object
+file is unrestricted, regardless of whether it is legally a derivative
+work.  (Executables containing this object code plus portions of the
+Library will still fall under Section 6.)
+
+  Otherwise, if the work is a derivative of the Library, you may
+distribute the object code for the work under the terms of Section 6.
+Any executables containing that work also fall under Section 6,
+whether or not they are linked directly with the Library itself.
+
+  6. As an exception to the Sections above, you may also combine or
+link a "work that uses the Library" with the Library to produce a
+work containing portions of the Library, and distribute that work
+under terms of your choice, provided that the terms permit
+modification of the work for the customer's own use and reverse
+engineering for debugging such modifications.
+
+  You must give prominent notice with each copy of the work that the
+Library is used in it and that the Library and its use are covered by
+this License.  You must supply a copy of this License.  If the work
+during execution displays copyright notices, you must include the
+copyright notice for the Library among them, as well as a reference
+directing the user to the copy of this License.  Also, you must do one
+of these things:
+
+    a) Accompany the work with the complete corresponding
+    machine-readable source code for the Library including whatever
+    changes were used in the work (which must be distributed under
+    Sections 1 and 2 above); and, if the work is an executable linked
+    with the Library, with the complete machine-readable "work that
+    uses the Library", as object code and/or source code, so that the
+    user can modify the Library and then relink to produce a modified
+    executable containing the modified Library.  (It is understood
+    that the user who changes the contents of definitions files in the
+    Library will not necessarily be able to recompile the application
+    to use the modified definitions.)
+
+    b) Use a suitable shared library mechanism for linking with the
+    Library.  A suitable mechanism is one that (1) uses at run time a
+    copy of the library already present on the user's computer system,
+    rather than copying library functions into the executable, and (2)
+    will operate properly with a modified version of the library, if
+    the user installs one, as long as the modified version is
+    interface-compatible with the version that the work was made with.
+
+    c) Accompany the work with a written offer, valid for at
+    least three years, to give the same user the materials
+    specified in Subsection 6a, above, for a charge no more
+    than the cost of performing this distribution.
+
+    d) If distribution of the work is made by offering access to copy
+    from a designated place, offer equivalent access to copy the above
+    specified materials from the same place.
+
+    e) Verify that the user has already received a copy of these
+    materials or that you have already sent this user a copy.
+
+  For an executable, the required form of the "work that uses the
+Library" must include any data and utility programs needed for
+reproducing the executable from it.  However, as a special exception,
+the materials to be distributed need not include anything that is
+normally distributed (in either source or binary form) with the major
+components (compiler, kernel, and so on) of the operating system on
+which the executable runs, unless that component itself accompanies
+the executable.
+
+  It may happen that this requirement contradicts the license
+restrictions of other proprietary libraries that do not normally
+accompany the operating system.  Such a contradiction means you cannot
+use both them and the Library together in an executable that you
+distribute.
+
+  7. You may place library facilities that are a work based on the
+Library side-by-side in a single library together with other library
+facilities not covered by this License, and distribute such a combined
+library, provided that the separate distribution of the work based on
+the Library and of the other library facilities is otherwise
+permitted, and provided that you do these two things:
+
+    a) Accompany the combined library with a copy of the same work
+    based on the Library, uncombined with any other library
+    facilities.  This must be distributed under the terms of the
+    Sections above.
+
+    b) Give prominent notice with the combined library of the fact
+    that part of it is a work based on the Library, and explaining
+    where to find the accompanying uncombined form of the same work.
+
+  8. You may not copy, modify, sublicense, link with, or distribute
+the Library except as expressly provided under this License.  Any
+attempt otherwise to copy, modify, sublicense, link with, or
+distribute the Library is void, and will automatically terminate your
+rights under this License.  However, parties who have received copies,
+or rights, from you under this License will not have their licenses
+terminated so long as such parties remain in full compliance.
+
+  9. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Library or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Library (or any work based on the
+Library), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Library or works based on it.
+
+  10. Each time you redistribute the Library (or any work based on the
+Library), the recipient automatically receives a license from the
+original licensor to copy, distribute, link with or modify the Library
+subject to these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties with
+this License.
+
+  11. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Library at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Library by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Library.
+
+If any portion of this section is held invalid or unenforceable under any
+particular circumstance, the balance of the section is intended to apply,
+and the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+  12. If the distribution and/or use of the Library is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Library under this License may add
+an explicit geographical distribution limitation excluding those countries,
+so that distribution is permitted only in or among countries not thus
+excluded.  In such case, this License incorporates the limitation as if
+written in the body of this License.
+
+  13. The Free Software Foundation may publish revised and/or new
+versions of the Lesser General Public License from time to time.
+Such new versions will be similar in spirit to the present version,
+but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Library
+specifies a version number of this License which applies to it and
+"any later version", you have the option of following the terms and
+conditions either of that version or of any later version published by
+the Free Software Foundation.  If the Library does not specify a
+license version number, you may choose any version ever published by
+the Free Software Foundation.
+
+  14. If you wish to incorporate parts of the Library into other free
+programs whose distribution conditions are incompatible with these,
+write to the author to ask for permission.  For software which is
+copyrighted by the Free Software Foundation, write to the Free
+Software Foundation; we sometimes make exceptions for this.  Our
+decision will be guided by the two goals of preserving the free status
+of all derivatives of our free software and of promoting the sharing
+and reuse of software generally.
+
+                            NO WARRANTY
+
+  15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
+WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
+EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
+OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
+KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
+LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+  16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
+WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
+AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
+LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
+FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGES.
+
+                     END OF TERMS AND CONDITIONS
+
+           How to Apply These Terms to Your New Libraries
+
+  If you develop a new library, and you want it to be of the greatest
+possible use to the public, we recommend making it free software that
+everyone can redistribute and change.  You can do so by permitting
+redistribution under these terms (or, alternatively, under the terms of the
+ordinary General Public License).
+
+  To apply these terms, attach the following notices to the library.  It is
+safest to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least the
+"copyright" line and a pointer to where the full notice is found.
+
+    <one line to give the library's name and a brief idea of what it does.>
+    Copyright (C) <year>  <name of author>
+
+    This library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Lesser General Public
+    License as published by the Free Software Foundation; either
+    version 2.1 of the License, or (at your option) any later version.
+
+    This library is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Lesser General Public License for more details.
+
+    You should have received a copy of the GNU Lesser General Public
+    License along with this library; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+
+Also add information on how to contact you by electronic and paper mail.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the library, if
+necessary.  Here is a sample; alter the names:
+
+  Yoyodyne, Inc., hereby disclaims all copyright interest in the
+  library `Frob' (a library for tweaking knobs) written by James Random Hacker.
+
+  <signature of Ty Coon>, 1 April 1990
+  Ty Coon, President of Vice
+
+That's all there is to it!

Added: modules/documents/trunk/dist/src/main/assembly/readme.txt
===================================================================
--- modules/documents/trunk/dist/src/main/assembly/readme.txt	                        (rev 0)
+++ modules/documents/trunk/dist/src/main/assembly/readme.txt	2010-06-10 18:03:55 UTC (rev 13116)
@@ -0,0 +1,50 @@
+
+                              Seam Faces Module
+                               3.0.0 SNAPSHOT
+
+ What is it?
+ ===========
+
+ The Seam 3 Faces Module is focused on enhancements for the JavaServer Faces
+ (JSF) web framework, extended integration between JSF and CDI, and integration
+ between JSF and other Seam 3 modules.
+
+ Contents of distribution
+ ========================
+
+ docs/
+
+    API Docs and reference guide.
+  
+ examples/
+
+    Seam Faces examples
+  
+ ...
+  
+ Licensing
+ =========
+
+ This distribution, as a whole, is licensed under the terms of the Apache
+ License, Version 2.0 (see apl.txt).
+
+ Seam Faces URLs
+ ===============
+
+ Seam 3 Faces Module:  http://www.sfwk.org/Seam3/FacesModule
+ Seam 3 Home Page:     http://www.sfwk.org/Seam3
+ Downloads:            http://www.sfwk.org/Seam3/DistributionDownloads
+ Forums:               http://www.sfwk.org/Community/Seam3Users
+ Source Code:          http://anonsvn.jboss.org/repos/seam/modules/faces
+ Issue Tracking:       http://jira.jboss.org/jira/browse/SEAMFACES
+
+ Release Notes
+ =============
+
+    *  View actions
+    * javax.faces.bean.*Scoped aliases
+    * @FlashScoped and @ViewScoped
+    * CDI / Faces Phase & System Event bridge
+    * JSF API producers (FacesContext, ExternalContext, NavigationHandler, etc...)
+    * Simplified EL name to conversation: #{conversation.transient}
+

Added: modules/documents/trunk/docs/reference/pom.xml
===================================================================
--- modules/documents/trunk/docs/reference/pom.xml	                        (rev 0)
+++ modules/documents/trunk/docs/reference/pom.xml	2010-06-10 18:03:55 UTC (rev 13116)
@@ -0,0 +1,73 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
+   <modelVersion>4.0.0</modelVersion>
+
+   <groupId>org.jboss.seam.documents</groupId>
+   <artifactId>seam-documents-reference-guide</artifactId>
+   <version>3.0.0-SNAPSHOT</version>
+   <packaging>jdocbook</packaging>
+   <name>Seam Documents Module Reference Guide</name>
+
+   <parent>
+      <groupId>org.jboss.seam.documents</groupId>
+      <artifactId>seam-documents-parent</artifactId>
+      <version>3.0.0-SNAPSHOT</version>
+      <relativePath>../../pom.xml</relativePath>
+   </parent>
+
+   <properties>
+      <pdf.name>${project.artifactId}.pdf</pdf.name>
+   </properties>
+
+   <build>
+      <plugins>
+         <plugin>
+            <groupId>org.jboss.maven.plugins</groupId>
+            <artifactId>maven-jdocbook-plugin</artifactId>
+         </plugin>
+         <!-- Attach docs as a war so dist can retrieve them -->
+         <plugin>
+            <groupId>org.codehaus.mojo</groupId>
+            <artifactId>build-helper-maven-plugin</artifactId>
+            <executions>
+               <execution>
+                  <id>attach-zip</id>
+                  <phase>package</phase>
+                  <goals>
+                     <goal>attach-artifact</goal>
+                  </goals>
+                  <configuration>
+                     <artifacts>
+                        <artifact>
+                           <file>${project.build.outputDirectory}/${project.artifactId}-${project.version}.war</file>
+                           <type>war</type>
+                        </artifact>
+                     </artifacts>
+                  </configuration>
+               </execution>
+            </executions>
+         </plugin>
+      </plugins>
+   </build>
+
+   <profiles>
+      <profile>
+         <id>distribution</id>
+         <activation>
+            <property>
+               <name>release</name>
+            </property>
+         </activation>
+         <build>
+            <plugins>
+               <plugin>
+                  <groupId>org.apache.maven.plugins</groupId>
+                  <artifactId>maven-assembly-plugin</artifactId>
+               </plugin>
+            </plugins>
+         </build>
+      </profile>
+   </profiles>
+
+</project>

Added: modules/documents/trunk/docs/reference/src/main/assembly/assembly.xml
===================================================================
--- modules/documents/trunk/docs/reference/src/main/assembly/assembly.xml	                        (rev 0)
+++ modules/documents/trunk/docs/reference/src/main/assembly/assembly.xml	2010-06-10 18:03:55 UTC (rev 13116)
@@ -0,0 +1,17 @@
+<assembly
+   xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0"
+   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+   xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
+   <id>sources</id>
+   <formats>
+      <format>zip</format>
+   </formats>
+   <baseDirectory>${project.artifactId}</baseDirectory>
+   <fileSets>
+      <fileSet>
+         <outputDirectory>.</outputDirectory>
+         <directory>${project.basedir}/src/main/docbook/en-US</directory>
+         <useDefaultExcludes>true</useDefaultExcludes>
+      </fileSet>
+   </fileSets>
+</assembly>

Added: modules/documents/trunk/docs/reference/src/main/docbook/en-US/artifacts.xml
===================================================================
--- modules/documents/trunk/docs/reference/src/main/docbook/en-US/artifacts.xml	                        (rev 0)
+++ modules/documents/trunk/docs/reference/src/main/docbook/en-US/artifacts.xml	2010-06-10 18:03:55 UTC (rev 13116)
@@ -0,0 +1,46 @@
+<?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="artifacts">
+	<title>Faces Artifact Injection</title>
+	<para>
+		When creating CDI managed beans for use in the Web/UI layer, it is often necessary to access the FacesContext, NavigationHandler, and other
+		artifacts of the JSF environment. Seam Faces provides producers to allow injection of these artifacts in the proper scopes, enabling mock-testing
+		and other situations where the artifact may be difficult or tedious to resolve.
+	</para>
+	<para>
+		This is the full list of inject-able artifacts provided through Seam Faces.
+		<informaltable>
+			<tgroup cols="2">
+				<colspec colnum="1" colwidth="2*" />
+				<colspec colnum="2" colwidth="3*" />
+				<thead>
+					<row>
+						<entry>Artifact Class</entry>
+						<entry>Example</entry>
+					</row>
+				</thead>
+				<tbody>
+					<row>
+						<entry>javax.faces.context.FacesContext</entry>
+						<entry><programlisting>public class Bean {
+	@Inject FacesContext context;
+}</programlisting></entry>
+					</row>
+					<row>
+						<entry>javax.faces.context.ExternalContext</entry>
+						<entry><programlisting>public class Bean {
+	@Inject ExternalContext context;
+}</programlisting></entry>
+					</row>
+					<row>
+						<entry>javax.faces.application.NavigationHandler</entry>
+						<entry><programlisting>public class Bean {
+	@Inject NavigationHandler handler;
+}</programlisting></entry>
+					</row>
+				</tbody>
+			</tgroup>
+		</informaltable>
+	</para>
+</chapter>
\ No newline at end of file

Added: modules/documents/trunk/docs/reference/src/main/docbook/en-US/author_group.xml
===================================================================
--- modules/documents/trunk/docs/reference/src/main/docbook/en-US/author_group.xml	                        (rev 0)
+++ modules/documents/trunk/docs/reference/src/main/docbook/en-US/author_group.xml	2010-06-10 18:03:55 UTC (rev 13116)
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE authorgroup PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
+   "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" []>
+<authorgroup>
+   <author>
+      <firstname>Dan</firstname>
+      <surname>Allen</surname>
+   </author>
+   <author>
+      <firstname>Lincoln</firstname>
+      <surname>Baxter III</surname>
+   </author>
+   <author>
+      <firstname>Nicklas</firstname>
+      <surname>Karlsson</surname>
+   </author>
+
+   <!--
+vim:et:ts=3:sw=3:tw=120
+-->
+</authorgroup>

Added: modules/documents/trunk/docs/reference/src/main/docbook/en-US/book_info.xml
===================================================================
--- modules/documents/trunk/docs/reference/src/main/docbook/en-US/book_info.xml	                        (rev 0)
+++ modules/documents/trunk/docs/reference/src/main/docbook/en-US/book_info.xml	2010-06-10 18:03:55 UTC (rev 13116)
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE bookinfo PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
+   "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" []>
+
+<bookinfo>
+   <title>Seam Faces Module</title>
+   <subtitle>Reference Guide</subtitle>
+   <releaseinfo>3.0.0-SNAPSHOT</releaseinfo>
+
+   <xi:include href="author_group.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+
+<!--
+vim:et:ts=3:sw=3:tw=120
+-->
+</bookinfo>

Added: modules/documents/trunk/docs/reference/src/main/docbook/en-US/components.xml
===================================================================
--- modules/documents/trunk/docs/reference/src/main/docbook/en-US/components.xml	                        (rev 0)
+++ modules/documents/trunk/docs/reference/src/main/docbook/en-US/components.xml	2010-06-10 18:03:55 UTC (rev 13116)
@@ -0,0 +1,374 @@
+<?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="components">
+	<title>Seam Faces Components</title>
+	<para>
+		While Seam Faces does not provide layout components or other UI-design related features, it does provide
+		functional components designed to make developing JSF applications easier, more functional, more
+		scalable, and more practical.
+	</para>
+
+	<para>
+		For layout and design components, take a look at <ulink
+		url="http://jboss.org/richfaces">RichFaces</ulink>, a UI component library specifically tailored for
+		easy, rich web-interfaces.
+	</para>
+
+	<section id="basicUsage">
+		<title>Introduction</title>
+		<para>
+			In order to use the Seam Faces components, you must first add the namespace to your view file, 
+			just like the standard JSF component libraries.
+		</para>
+			
+		<programlisting role="XML"><![CDATA[<html xmlns="http://www.w3.org/1999/xhtml"
+   xmlns:f="http://java.sun.com/jsf/core"
+   xmlns:h="http://java.sun.com/jsf/html"
+   xmlns:s="http://jboss.org/seam/faces"
+   xmlns:ui="http://java.sun.com/jsf/facelets">
+      
+   <h1>Welcome to Seam Faces!</h1>
+   <p>
+      This view imports the Seam Faces component library.
+      Read on to discover what components it provides.
+	</p>
+      
+</html>]]></programlisting>
+		<tip>
+			<para>
+				All Seam Faces components use the following namespace: 
+				<literal>http://jboss.org/seam/faces</literal>
+			</para>
+		</tip>
+
+	</section>
+
+	<section id="validateForm">
+		<title>&lt;s:validateForm&gt;</title>
+		<para>
+			On many occasions you might find yourself needing to compare the values of multiple input fields
+			on a given page submit: confirming a password; re-enter password; address lookups; and so on. 
+			
+			Performing cross-field form validation is simple - just place the &lt;s:validateForm&gt; component
+			in the form you wish to validate, then attach your custom Validator.
+		</para>
+
+		<programlisting role="XML"><![CDATA[<h:form id="locationForm">
+   <h:inputText id="city" value="#{bean.city}" />
+   <h:inputText id="state" value="#{bean.state}" />
+   <h:inputText id="zip" value="#{bean.zip}" />
+   <h:commandButton id="submit" value="Submit" action="#{bean.submitPost}" />
+                  
+   <s:validateForm validatorId="locationValidator" />
+</h:form>]]></programlisting> 
+
+		<para>
+			The corresponding Validator for the example above would look something like this:
+		</para>
+
+		<programlisting role="JAVA"><![CDATA[@FacesValidator("locationValidator")
+public class LocationValidator implements Validator
+{
+   @Inject
+   Directory directory;
+
+   @Inject
+   @InputField
+   private Object city;
+
+   @Inject
+   @InputField
+   private Object state;
+
+   @Inject
+   @InputField
+   private ZipCode zip;
+
+   @Override
+   public void validate(final FacesContext context, final UIComponent comp, final Object values)
+         throws ValidatorException
+   {
+      if(!directory.exists(city, state, zip))
+      {
+         throw new ValidatorException(
+            new FacesMessage("Sorry, that location is not in our database. Please try again."));
+      }
+   }
+}]]></programlisting>
+		
+		<tip>
+			<para>
+				You may inject the correct type directly.
+				<programlisting><![CDATA[@Inject
+ at InputField
+private ZipCode zip;]]></programlisting>
+			</para>
+		</tip>
+		
+		<para>
+			Notice that the IDs of the inputText components match the IDs of your Validator 
+			@InputFields; each @Inject @InputField member will be injected with the value of the form input field
+			who's ID matches the name of the variable.
+		</para>
+
+		<para>
+			In other words - the name of the @InputField annotated member variable will automatically
+			be matched to the ID of the input component, unless overridden by using a field
+			ID alias (see below.) 
+		</para>
+			
+		<programlisting role="XML"><![CDATA[<h:form id="locationForm">
+   <h:inputText id="cityId" value="#{bean.city}" />
+   <h:inputText id="stateId" value="#{bean.state}" />
+   <h:inputText id="zip" value="#{bean.zip}" />
+   <h:commandButton id="submit" value="Submit" action="#{bean.submitPost}" />
+                  
+   <s:validateForm fields="city=cityId state=stateId" validatorId="locationValidator" />
+</h:form>]]></programlisting>
+
+		<para>
+			Notice that "zip" will still be referenced normally; you need only
+			specify aliases for fields that differ in name from the Validator @InputFields.
+		</para>
+
+		<tip>
+			<para>
+				<literal>Using @InputField("customID")</literal> with an ID override can also be used to specify a
+				custom ID, instead of using the default: the name of the field. This gives you the ability to
+				change the name of the private field, without worrying about changing the name of input fields in
+				the View itself.
+				<programlisting><![CDATA[@Inject
+ at InputField("state")
+private String sectorTwo;]]></programlisting>
+			</para>
+		</tip>
+
+	</section>
+	
+	<section id="viewaction">
+		<title>&lt;s:viewAction&gt;</title>
+
+		<para>
+			The view action component (<literal>UIViewAction</literal>) is an <literal>ActionSource2</literal>
+			<literal>UIComponent</literal> that specifies an application-specific command (or action), using
+			using an EL method expression, to be invoked during one of the JSF lifecycle phases proceeding Render
+			Response (i.e., view rendering).
+		</para>
+		
+		<para>
+			View actions provide a lightweight front-controller for JSF, allowing the application to accommodate
+			scenarios such as registration confirmation links, security and sanity checking a request (e.g.,
+			ensuring the resource can be loaded). They also allow JSF to work alongside action-oriented
+			frameworks, and existing applications that use them.
+		</para>
+
+		<section>
+			<title>Motivation</title>
+
+			<para>
+				JSF employs an event-oriented architecture. Listeners are invoked in response to user-interface
+				events, such as the user clicking on a button or changing the value of a form input. Unfortunately,
+				the most important event on the web, a URL request (initiated by the user clicking on a link,
+				entering a URL into the browser's location bar or selecting a bookmark), has long been overlooked in
+				JSF. Historically, listeners have exclusively been activated on postback, which has led to the common
+				complaint that in JSF, "everything is a POST."
+			</para>
+
+			<para>
+				<emphasis>We want to change that perception.</emphasis>
+			</para>
+
+			<para>
+				Processing a URL request event is commonly referred to as bookmarkable or GET support. Some GET
+				support was added to JSF 2.0 with the introduction of view parameters and the pre-render view event.
+				View parameters are used to bind query string parameters to model properties. The pre-render view
+				event gives the developer a window to invoke a listener immediately prior to the view being rendered.
+			</para>
+
+			<para>
+				<emphasis>That's a start.</emphasis>
+			</para>
+
+			<para>
+				Seam brings the GET support full circle by introducing the view action component. A view action is
+				the compliment of a <literal>UICommand</literal> for an initial (non-faces) request. Like its
+				cohort, it gets executed by default during the Invoke Application phase (now used on both faces
+				and non-faces requests). A view action can optionally be invoked on postback as well.
+			</para>
+
+			<para>
+				View actions (<literal>UIViewAction</literal>) are closely tied to view parameters
+				(<literal>UIViewParameter</literal>). Most of the time, the view parameter is used to populate the
+				model with data that is consumed by the method being invoked by a <literal>UIViewAction</literal>
+				component, much like form inputs populate the model with data to support the method being invoked
+				by a <literal>UICommand</literal> component.
+			</para>
+
+		</section>
+
+		<section>
+			<title>Usage</title>
+
+			<para>
+				Let's consider a typical scenario in web applications. You want to display the contents of a blog
+				entry that matches the identifier specified in the URL. We'll assume the URL is:
+			</para>
+
+			<programlisting>http://localhost:8080/blog/entry.jsf?id=10</programlisting>
+			
+			<para>
+				We'll use a view parameter to capture the identifier of the entry from the query string and a view
+				action to fetch the entry from the database.
+			</para>
+
+			<programlisting role="XML"><![CDATA[<f:metadata>
+   <f:viewParam name="id" value="#{blogManager.entryId}"/>  
+   <s:viewAction action="#{blogManager.loadEntry}"/>  
+</f:metadata>]]></programlisting>
+
+			<tip>
+				<para>
+					The view action component must be declared as a child of the view metadata facet (i.e.,
+					<literal>&lt;f:metadata&gt;</literal>) so that it gets incorporated into the JSF lifecycle on both
+					non-faces (initial) requests and faces (postback) requests. If you put it anywhere else in the
+					page, the behavior is undefined.
+				</para>
+			</tip>
+
+			<warning>
+				<para>
+					In JSF 2.0, there must be at least one view parameter for the view metadata facet to be processed.
+					This requirement was introduced into the JSF specification accidentally, but it's not so
+					unfortunate since view parameters are typically needed to capture input needed by the view action.
+				</para>
+			</warning>
+
+			<para>
+				What do we do if the entry can't be found? View actions support declarative navigation just like
+				<literal>UICommand</literal> components. So you can write a navigation rule that will be consulted
+				before the page is rendered. If the rule matches, navigation occurs just as though this were a
+				postback.
+			</para>
+
+			<programlisting role="XML"><![CDATA[<navigation-rule>
+      <from-view-id>/entry.xhtml</from-view-id>
+      <navigation-case>
+         <from-action>#{blogManager.loadEntry}</from-action>
+         <if>#{empty entry}</if>
+         <to-view-id>/home.xhtml</to-view-id>
+         <redirect/>
+      </navigation-case>
+   </navigation-rule>]]></programlisting>
+
+			<para>
+				After each view action is invoked, the navigation handler looks for a navigation case that matches
+				the action's EL method signature and outcome.  If a navigation case is matched, or the response is
+				marked complete by the action, subsequent view actions are short-circuited. The lifecycle then
+				advances appropriately.
+			</para>
+
+			<para>
+				By default, a view action is not executed on postback, since the primary intention of a view
+				action is to support a non-faces request. If your application (or use case) is decidedly stateless,
+				you may need the view action to execute on any type of request. You can enable the view action
+				on postback using the <literal>onPostback</literal> attribute:
+			</para>
+	
+			<programlisting role="XML"><![CDATA[<s:viewAction action="#{blogManager.loadEntry}" onPostback="true"/>]]></programlisting>
+	
+			<para>
+				You may only want the view action to be invoked under certain conditions. For instance, you may only
+				need it to be invoked if the conversation is transient. For that, you can use the
+				<literal>if</literal> attribute, which accepts an EL value expression:
+			</para>
+	
+			<programlisting role="XML"><![CDATA[<s:viewAction action="#{blogEditor.loadEntry}" if="#{conversation.transient}"/>]]></programlisting>
+	
+			<para>
+				There are two ways to control the phase in which the view action is invoked. You can set the
+				<literal>immediate</literal> attribute to true, which moves the invocation to the Apply Request Values phase
+				instead of the default, the Invoke Application phase.
+			</para>
+	
+			<programlisting role="XML"><![CDATA[<s:viewAction action="#{sessionManager.validateSession}" immediate="true"/>]]></programlisting>
+	
+			<para>
+				You can also just specify the phase directly, using the name of the phase constant in the
+				<literal>PhaseId</literal> class (the case does not matter).
+			</para>
+	
+			<programlisting role="XML"><![CDATA[<s:viewAction action="#{sessionManager.validateSession}" phase="APPLY_REQUEST_VALUES"/>]]></programlisting>
+	
+			<tip>
+				<para>
+					The valid phases for a view action are:
+				</para>
+				<itemizedlist>
+					<listitem>
+						<para><literal>APPLY_REQUEST_VALUES</literal> (default if <literal>immediate="true"</literal>)</para>
+					</listitem>
+					<listitem>
+						<para><literal>UPDATE_MODEL_VALUES</literal></para>
+					</listitem>
+					<listitem>
+						<para><literal>PROCESS_VALIDATIONS</literal></para>
+					</listitem>
+					<listitem>
+						<para><literal>INVOKE_APPLICATION</literal> (default)</para>
+					</listitem>
+				</itemizedlist>
+			</tip>
+
+         <para>
+            If the phase is set, it takes precedence over the immediate flag.
+         </para>
+		</section>
+
+		<section>
+			<title>View actions vs the PreRenderViewEvent</title>
+			<para>
+				The purpose of the view action is similar to use of the PreRenderViewEvent. In fact, the code to
+				load a blog entry before the page is rendered could be written as:	
+			</para>
+
+			<programlisting role="XML"><![CDATA[<f:metadata>
+   <f:viewParam name="id" value="#{blogManager.entryId}"/>  
+   <f:event type="preRenderView" listener="#{blogManager.loadEntry}"/>  
+</f:metadata>]]></programlisting>
+
+			<para>
+				However, the view action has several important advantages:
+			</para>
+
+			<itemizedlist>
+				<listitem>
+					<para>It's lightweight</para>
+				</listitem>
+				<listitem>
+					<para>It's timing can be controlled</para>
+				</listitem>
+				<listitem>
+					<para>It's contextual</para>
+				</listitem>
+				<listitem>
+					<para>It can trigger navigation</para>
+				</listitem>
+			</itemizedlist>
+
+			<para>
+				View actions are lightweight because they get processed on a non-faces (initial) request
+				<emphasis>before</emphasis> the full component tree is built. When the view actions are invoked,
+				the component tree only contains view metadata.
+			</para>
+
+			<para>
+				As demonstrated above, you can specify a prerequisite condition for invoking the view action,
+				control whether it's invoked on postback, specify the phase in which it's invoked and tie the
+				invocation into the declarative navigation system. The PreRenderViewEvent is quite basic in
+				comparison.
+			</para>
+
+		</section>
+	</section>
+</chapter>

Added: modules/documents/trunk/docs/reference/src/main/docbook/en-US/events.xml
===================================================================
--- modules/documents/trunk/docs/reference/src/main/docbook/en-US/events.xml	                        (rev 0)
+++ modules/documents/trunk/docs/reference/src/main/docbook/en-US/events.xml	2010-06-10 18:03:55 UTC (rev 13116)
@@ -0,0 +1,315 @@
+<?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="events">
+	<title>Faces Events Propagation</title>
+	<para>
+		When the seam-faces module is installed in a web application, JSF events will automatically be propagated
+		via the CDI event-bridge, enabling managed beans to easily observe all Faces events.
+	</para>
+	<para>
+	There are two categories of events: JSF phase events, and JSF system events. Phase events are triggered
+	as JSF processes each lifecycle phase, while system events are raised at more specific, fine-grained events during 
+	request processing.
+	</para>
+	<section id="events.phases">
+		<title>JSF Phase events</title>
+		
+		<para>
+			A JSF phase listener is a class that implements <literal>javax.faces.event.PhaseListener</literal> and
+			is registered in the web application's <literal>faces-config.xml</literal> file. By implementing the methods of the
+			interfaces, the user can observe events fired before or after any of the six lifecycle phases of a JSF request:
+			<literal>restore view</literal>, <literal>apply request values</literal>, <literal>process validations</literal>,
+			<literal>update model values</literal>, <literal>invoke application</literal> or <literal>render view</literal>.
+		</para>
+		
+		<section id="events.phases.seam">
+			<title>Seam Faces Phase events</title>
+			<para>
+				What Seam provides is propagation of these Phase events to the CDI event bus; therefore, you can observe events 
+				using normal CDI <literal>@Observes</literal> methods. Bringing the events to CDI beans removes the need to
+				register phase listener classes via XML, and gives the added benefit of injection, alternatives, interceptors 
+				and access to all other features of CDI.
+			</para>
+			<para>
+				Creating an observer method in CDI is simple; just provide a method in a managed bean that is annotated with
+				<literal>@Observes</literal>. Each observer method must accept one method parameter: the event object; 
+				the type of this object determines the type of event being observed.
+			</para>
+			<para>
+				In this case, the event object passed along from the phase listener is a 
+				<literal>javax.faces.event.PhaseEvent</literal>. The following example observes all Phase events.
+				
+				<programlisting role="Java">
+public void observeAll(@Observes PhaseEvent e)
+{
+	// Do something with the event object
+} </programlisting>
+			</para>
+			<para>
+			Events can be further filtered by adding Qualifiers. The name of the method itself is not significant. 
+			(See the CDI Reference Guide for more information on events and observing.)
+			</para>
+			<para>
+				Since the example above simply processes all events, however, it might be appropriate to filter out some events
+				that we aren't interested in. As stated earlier, there are six phases in the JSF lifecycle, and an event is
+				fired before and after each, for a total of 12 events. The <literal>@Before</literal> and 
+				<literal>@After</literal> "temporal" qualifiers can be used to observe events occurring only before or only after
+				a Phase event. For example:
+				<programlisting role="Java">
+public void observeBefore(@Observes @Before PhaseEvent e)
+{
+	// Do something with the "before" event object
+}
+
+public void observeAfter(@Observes @After PhaseEvent e)
+{
+	// Do something with the "after" event object
+} </programlisting>
+			</para>
+			<para>
+				If we are interested in both the "before" and "after" event of a particular phase, we can limit them
+				by adding a "lifecycle" qualifier that corresponds to the phase:
+				<programlisting role="Java">
+public void observeRenderResponse(@Observes @RenderResponse PhaseEvent e)
+{
+	// Do something with the "render response" event object
+} </programlisting>
+			</para>
+			<para>
+				By combining a temporal and lifecycle qualifier, we can achieve the most specific qualification:
+				<programlisting role="Java">
+public void observeBeforeRenderResponse(@Observes @Before @RenderResponse PhaseEvent e)
+{
+	// Do something with the "before render response" event object
+} </programlisting>
+			</para>
+		</section>
+		
+		
+		<section id="events.phases.seam.table">
+			<title>Phase events listing</title>
+			<para>
+				This is the full list of temporal and lifecycle qualifiers
+				<informaltable>
+					<tgroup cols="3">
+						<colspec colnum="1" colwidth="1*" />
+						<colspec colnum="2" colwidth="1*" />
+						<colspec colnum="3" colwidth="3*" />
+						<thead>
+							<row>
+								<entry>Qualifier</entry>
+								<entry>Type</entry>
+								<entry>Description</entry>
+							</row>
+						</thead>
+						<tbody>
+							<row>
+								<entry>@Before</entry>
+								<entry>temporal</entry>
+								<entry>Qualifies events before lifecycle phases</entry>
+							</row>
+							<row>
+								<entry>@After</entry>
+								<entry>temporal</entry>
+								<entry>Qualifies events after lifecycle phases</entry>
+							</row>
+							<row>
+								<entry>@RestoreView</entry>
+								<entry>lifecycle</entry>
+								<entry>Qualifies events from the "restore view" phase</entry>
+							</row>
+							<row>
+								<entry>@ApplyRequestValues</entry>
+								<entry>lifecycle</entry>
+								<entry>Qualifies events from the "apply request values" phase</entry>
+							</row>
+							<row>
+								<entry>@ProcessValidations</entry>
+								<entry>lifecycle</entry>
+								<entry>Qualifies events from the "process validations" phase</entry>
+							</row>
+							<row>
+								<entry>@UpdateModelValues</entry>
+								<entry>lifecycle</entry>
+								<entry>Qualifies events from the "update model values" phase</entry>
+							</row>
+							<row>
+								<entry>@InvokeApplication</entry>
+								<entry>lifecycle</entry>
+								<entry>Qualifies events from the "invoke application" phase</entry>
+							</row>
+							<row>
+								<entry>@RenderResponse</entry>
+								<entry>lifecycle</entry>
+								<entry>Qualifies events from the "render response" phase</entry>
+							</row>
+						</tbody>
+					</tgroup>
+				</informaltable>
+				The event object is always a <literal>javax.faces.event.PhaseEvent</literal> and according to the general
+				CDI principle, filtering is tightened by adding qualifiers and loosened by omitting them.
+			</para>
+		</section>
+	</section>
+	
+	
+	
+	<section id="events.system">
+		<title>JSF system events</title>
+		<para>
+			Similar to JSF Phase Events, System Events take place when specific events occur within the JSF life-cycle. Seam 
+			Faces provides a bridge for all JSF System Events, and propagates these events to CDI. 
+		</para>
+		
+		
+		
+		
+		
+		<section id="events.system.seam">
+			<title>Seam Faces System events</title>
+			<para>
+				This is an example of observing a Faces system event:
+			</para>
+			<para>
+				<programlisting role="Java">
+public void observesThisEvent(@Observes ExceptionQueuedEvent e)
+{
+	// Do something with the event object
+} </programlisting>
+			</para>
+		</section>
+		
+		
+		
+		
+		<section id="events.system.seam.listing">
+			<title>System events listing</title>
+			<para>
+				Since all JSF system event objects are distinct, no qualifiers are needed to observe them. The following events 
+				may be observed:
+				<informaltable>
+					<tgroup cols="3">
+						<colspec colnum="1" colwidth="3*" />
+						<colspec colnum="2" colwidth="1*" />
+						<colspec colnum="3" colwidth="4*" />
+						<thead>
+							<row>
+								<entry>Event object</entry>
+								<entry>Context</entry>
+								<entry>Description</entry>
+							</row>
+						</thead>
+						<tbody>
+							<row>
+								<entry>SystemEvent</entry>
+								<entry>all</entry>
+								<entry>All events</entry>
+							</row>
+							<row>
+								<entry>ComponentSystemEvent</entry>
+								<entry>component</entry>
+								<entry>All component events</entry>
+							</row>
+							<row>
+								<entry>PostAddToViewEvent</entry>
+								<entry>component</entry>
+								<entry>After a component was added to the view</entry>
+							</row>
+							<row>
+								<entry>PostConstructViewMapEvent</entry>
+								<entry>component</entry>
+								<entry>After a view map was created</entry>
+							</row>
+							<row>
+								<entry>PostRestoreStateEvent</entry>
+								<entry>component</entry>
+								<entry>After a component has its state restored</entry>
+							</row>
+							<row>
+								<entry>PostValidateEvent</entry>
+								<entry>component</entry>
+								<entry>After a component has been validated</entry>
+							</row>
+							<row>
+								<entry>PreDestroyViewMapEvent</entry>
+								<entry>component</entry>
+								<entry>Before a view map has been restored</entry>
+							</row>
+							<row>
+								<entry>PreRemoveFromViewEvent</entry>
+								<entry>component</entry>
+								<entry>Before a component has been removed from the view</entry>
+							</row>						
+							<row>
+								<entry>PreRenderComponentEvent</entry>
+								<entry>component</entry>
+								<entry>After a component has been rendered</entry>
+							</row>						
+							<row>
+								<entry>PreRenderViewEvent</entry>
+								<entry>component</entry>
+								<entry>Before a view has been rendered</entry>
+							</row>						
+							<row>
+								<entry>PreValidateEvent</entry>
+								<entry>component</entry>
+								<entry>Before a component has been validated</entry>
+							</row>						
+							<row>
+								<entry>ExceptionQueuedEvent</entry>
+								<entry>system</entry>
+								<entry>When an exception has been queued</entry>
+							</row>						
+							<row>
+								<entry>PostConstructApplicationEvent</entry>
+								<entry>system</entry>
+								<entry>After the application has been constructed</entry>
+							</row>						
+							<row>
+								<entry>PostConstructCustomScopeEvent</entry>
+								<entry>system</entry>
+								<entry>After a custom scope has been constructed</entry>
+							</row>		
+							<row>
+								<entry>PreDestroyApplicationEvent</entry>
+								<entry>system</entry>
+								<entry>Before the application is destroyed</entry>
+							</row>		
+							<row>
+								<entry>PreDestroyCustomScopeEvent</entry>
+								<entry>system</entry>
+								<entry>Before a custom scope is destroyed</entry>
+							</row>		
+						</tbody>
+					</tgroup>
+				</informaltable>
+			</para>
+		</section>
+		
+		
+		
+		<section id="events.system.component">
+			<title>Component system events</title>
+			<para>
+				There is one qualifier, <literal>@Component</literal> that can be used with component events by specifying the component ID. Note that
+				view-centric component events <literal>PreRenderViewEvent</literal>, <literal>PostConstructViewMapEvent</literal> and  
+				<literal>PreDestroyViewMapEvent</literal> do not fire with the <literal>@Component</literal> qualifier.
+				<programlisting role="Java">
+public void observePrePasswordValidation(@Observes @Component("form:password") PreValidateEvent e)
+{
+// Do something with the "before password is validated" event object
+} </programlisting>
+				Global system events are observer without the component qualifier
+				<programlisting role="Java">
+public void observeApplicationConstructed(@Observes PostConstructApplicationEvent e)
+{
+// Do something with the "after application is constructed" event object
+} </programlisting>
+				The name of the observing method is not relevant; observers are defined solely via annotations.
+			</para>
+		</section>
+		
+		
+	</section>
+</chapter>
\ No newline at end of file

Added: modules/documents/trunk/docs/reference/src/main/docbook/en-US/installation.xml
===================================================================
--- modules/documents/trunk/docs/reference/src/main/docbook/en-US/installation.xml	                        (rev 0)
+++ modules/documents/trunk/docs/reference/src/main/docbook/en-US/installation.xml	2010-06-10 18:03:55 UTC (rev 13116)
@@ -0,0 +1,73 @@
+<?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="faces.installation">
+	<title>Installation</title>
+	<para>
+		Most features of Seam Faces are installed automatically by including the seam-faces.jar and seam-faces-api.jar
+		in the web application library folder. If you are using <ulink url="http://maven.apache.org/">Maven</ulink> as your build tool, you can add the
+		following dependency to your pom.xml file:
+	</para>
+	<programlisting role="XML"><![CDATA[<dependency>
+	<groupId>org.jboss.seam.faces</groupId>
+	<artifactId>seam-faces</artifactId>
+	<version>${seam-faces-version}</version>
+</dependency>]]></programlisting>	
+	<tip>
+		<para>Replace ${seam-faces-version} with the most recent or appropriate version of Seam Faces.</para>			
+	</tip>
+	<para>
+		In a Servlet 3.0 or Java EE 6 environment, your configuration is now complete; however, if you are still using Servlet 2.5 or Java EE 5, then you
+		need to add the following code to your application's web.xml file:
+	</para>
+	<programlisting><![CDATA[<web-app>
+	<listener>
+		<listener-class>org.jboss.seam.faces.beanManager.BeanManagerServletContextListener</listener-class>
+	</listener>
+</web-app>]]></programlisting>
+
+<!-- 
+	<section id="configuration">
+		<title>Configuration</title>
+		<para>
+			Some features of Seam Faces are not automatically configured, such as enhanced conversation support through annotations.
+			These features must be enabled in your web-application's WEB-INF/beans.xml file. There are two types of features: 
+			Interceptors and Decorators. The process described here will be similar for other Seam Modules as well.
+		</para>
+		<programlisting role="XML"><![CDATA[<beans>
+	<interceptors>
+	  <class>org.jboss.seam.faces.{package}.{Interceptor}</class>
+	</interceptors>
+	<decorators>
+	  <class>org.jboss.seam.faces.{package}.{Decorator}</class>
+	</decorators>
+</beans>]]></programlisting>	
+		<para>
+			Use the table below to configure 
+		</para>
+		<para>
+			<informaltable>
+				<tgroup cols="3">
+					<colspec colnum="1" colwidth="1*" />
+					<colspec colnum="2" colwidth="1*" />
+					<colspec colnum="3" colwidth="3*" />
+					<thead>
+						<row>
+							<entry>Feature</entry>
+							<entry>Type</entry>
+							<entry>Class</entry>
+						</row>
+					</thead>
+					<tbody>
+						<row>
+							<entry>Conversation Support</entry>
+							<entry>interceptor</entry>
+							<entry>org.jboss.seam.faces.context.conversation.ConversationBoundaryInterceptor</entry>
+						</row> 
+					</tbody>
+				</tgroup>
+			</informaltable>
+		</para>
+	</section>
+ -->
+</chapter>
\ No newline at end of file

Added: modules/documents/trunk/docs/reference/src/main/docbook/en-US/master.xml
===================================================================
--- modules/documents/trunk/docs/reference/src/main/docbook/en-US/master.xml	                        (rev 0)
+++ modules/documents/trunk/docs/reference/src/main/docbook/en-US/master.xml	2010-06-10 18:03:55 UTC (rev 13116)
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
+   "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" []>
+<book lang="en">
+
+   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="book_info.xml" />
+
+   <toc />
+
+   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="preface.xml" />
+   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="installation.xml" />
+   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="events.xml" />
+   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="scopes.xml" />
+   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="messages.xml" />
+   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="artifacts.xml" />
+   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="components.xml" />
+
+   <!--
+   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="chapterXX.xml" />
+   -->
+
+<!--
+vim:et:ts=3:sw=3:tw=120
+-->
+</book>

Added: modules/documents/trunk/docs/reference/src/main/docbook/en-US/messages.xml
===================================================================
--- modules/documents/trunk/docs/reference/src/main/docbook/en-US/messages.xml	                        (rev 0)
+++ modules/documents/trunk/docs/reference/src/main/docbook/en-US/messages.xml	2010-06-10 18:03:55 UTC (rev 13116)
@@ -0,0 +1,78 @@
+<?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="faces.messages">
+	<title>Messages API</title>
+	<para>
+		While JSF already has the concept of adding <literal>FacesMessage</literal> objects to the FacesContext in order for those messages to be
+		displayed to the user when the view is rendered, Seam Faces takes this concept one step farther with the Messages API provided by the
+		Seam International module. Messages are template-based, and can be added directly via the code, or templates can be loaded from resource
+		bundles using a <literal>BundleKey</literal>. 
+	</para>
+	<section id="adding">
+		<title>Adding Messages</title>
+		<para>
+			Consistent with the CDI programming model, the Messages API is provided via bean injection. To add a new message to be displayed to the user,
+			inject <literal>org.jboss.seam.international.display.Messages</literal> and call one of the Message factory methods. As mentioned earlier,
+			factory methods accept either a plain-text template, or a <literal>BundleKey</literal>, specifying the name of the resource bundle to use, and
+			the name of the key to use as a message template.
+<programlisting>
+ at Named
+public class Example
+{
+   @Inject
+   Messages messages;
+
+   public String action()
+   {
+      messages.info("This is an {0} message, and will be displayed to {1}.", "INFO", "the user");
+      return null;
+   }
+}</programlisting>
+			Adds the message: "This is an INFO message, and will be displayed to the user." 
+		</para>
+		<para>		
+			Notice how {0}, {1} ... {N} are replaced with the given parameters, and may be used more than once in a given template. In the case where a
+			<literal>BundleKey</literal> is used to look up a message template, default text may be provided in case the resource cannot be loaded; default
+			text uses the same parameters supplied for the bundle template. If no default text is supplied, a String representation of the 
+			<literal>BundleKey</literal> and its parameters will be displayed instead.
+<programlisting>
+   public String action()
+   {
+      messages.warn(new BundleKey("org.jboss.seam.faces.exampleBundle", "messageKey"), "unique");
+      return null;
+   }</programlisting>
+	   </para>
+	   <para>
+classpath:/org/jboss/seam/faces/exampleBundle.properties
+<programlisting>messageKey=This {0} parameter is not so {0}, see?</programlisting>
+   			Adds the message: "This unique parameter is not so unique, see?"
+		</para>
+	</section>
+	<section id="displaying">
+		<title>Displaying pending messages</title>
+		<para>
+			It's great when messages are added to the internal buffer, but it doesn't do much good unless the user actually sees them. In order to display
+			messages, simply use the <literal>&lt;h:messages /&gt;</literal> tag from JSF. Any pending messages will be displayed on the page just like normal
+			<literal>FacesMessages</literal>.
+		</para>
+				<programlisting role="XML"><![CDATA[<html xmlns="http://www.w3.org/1999/xhtml"
+   xmlns:f="http://java.sun.com/jsf/core"
+   xmlns:h="http://java.sun.com/jsf/html"
+   xmlns:s="http://jboss.org/seam/faces"
+   xmlns:ui="http://java.sun.com/jsf/facelets">
+      
+   <h1>Welcome to Seam Faces!</h1>
+   <p>All Messages and FacesMessages will be displayed below:</p>
+
+   <h:messages />
+      
+</html>]]></programlisting>
+		<para>
+			Messages added to the internal buffer via the Messages API are stored in a central location during each request, and may be displayed
+			by any view-technology that supports the Messages API. Seam Faces provides an integration that makes all of this automatic for you as a developer,
+			and in addition, messages will automatically survive JSF navigation and redirects, as long as the redirect URL was encoded using 
+			<literal>ExternalContext.encodeRedirectURL(...)</literal>. If you are using JSF-compliant navigation, all of this is handled for you. 
+		</para>
+	</section>
+</chapter>
\ No newline at end of file

Added: modules/documents/trunk/docs/reference/src/main/docbook/en-US/preface.xml
===================================================================
--- modules/documents/trunk/docs/reference/src/main/docbook/en-US/preface.xml	                        (rev 0)
+++ modules/documents/trunk/docs/reference/src/main/docbook/en-US/preface.xml	2010-06-10 18:03:55 UTC (rev 13116)
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE preface PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
+   "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" []>
+<preface>
+   <title>Introduction</title>
+   <para>
+   The goal of Seam Faces is to provide a fully integrated CDI programming model to the JavaServer Faces (JSF) 2.0
+   web-framework. With features such as observing Events, providing injection support for life-cycle artifacts
+   (FacesContext, NavigationHandler,) and more. 
+   </para>
+
+<!--
+vim:et:ts=3:sw=3:tw=120
+-->
+</preface>

Added: modules/documents/trunk/docs/reference/src/main/docbook/en-US/scopes.xml
===================================================================
--- modules/documents/trunk/docs/reference/src/main/docbook/en-US/scopes.xml	                        (rev 0)
+++ modules/documents/trunk/docs/reference/src/main/docbook/en-US/scopes.xml	2010-06-10 18:03:55 UTC (rev 13116)
@@ -0,0 +1,63 @@
+<?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="scopes">
+	<title>Faces Scoping Support</title>
+	<para>
+		JSF 2.0 introduced the concept of the @FlashScope and the @ViewScope; however, JSF 2.0 did not provide annotations for accessing the FlashScope,
+		 and CDI does not support the non-standard ViewScope by default. The Seam Faces module does both. Beans stored in the FlashScope will survive
+		 until the next page is rendered, and for the most part, beans stored in the ViewScope will survive as long as a user remains on the
+		 same page.
+	</para>
+	<section id="flashscoped">
+		<title>@FlashScoped</title>
+		<para>
+			You should think about using the Flash scope if you want to store information that will be relevant to the user even after an action
+			sends them to another view. For instance, when a user submits a form, you may want to invoke JSF navigation and redirect 
+			the user to another page in the site; if you needed to store a message to be displayed when the next page is rendered -but no longer- 
+			you would store that message in the FlashContext. Fortunately, Seam provides FlashScoped messages by default, via the 
+			<link linkend="messages">Seam Messages API</link>. 
+		</para>
+		<para>
+			To scope a bean to the Flash, use the <literal>@javax.faces.bean.FlashScoped</literal> annotation. This means that your bean will be stored in the 
+			<literal>org.jboss.seam.context.FlashContext</literal> until the next page is rendered, at which point the FlashScope will be cleared.
+
+<programlisting>@FlashScoped
+public class Bean {
+	// ...
+}</programlisting>
+
+			<caution>
+				<para>
+					@FlashScoped beans are destroyed when the Flash is cleared. This means that the	life-span of @FlashScoped beans last only until
+					the next Render Response phase is executed.
+				</para>
+				<para>
+					If you want to use the Flash Scope with custom navigation in your application, 
+					be sure to call <literal>ExternalContext.encodeRedirectURL(String url, Map&lt;String, List&lt;String&gt;&gt; queryParams)</literal>
+					on any URL before using it to issue a redirect. This will ensure that the FlashContext ID is properly appended to the URL, enabling
+					the FlashContext to be restored on the subsequent request. This is only necessary if issuing a Servlet Redirect.
+				</para>
+			</caution>
+		</para>
+	</section>
+	<section id="viewscoped">
+		<title>@ViewScoped</title>
+		<para>
+			To scope a bean to the View, use the <literal>@javax.faces.bean.ViewScoped</literal> annotation. This means that your bean will be stored in the 
+			<literal>javax.faces.component.UIViewRoot</literal> object associated with the view in which it was accessed. Each JSF view (faces-page) will store
+			its own instance of the bean, just like each HttpServletRequest has its own instance of a @RequestScoped bean.
+			<programlisting>@ViewScoped
+public class Bean {
+	// ...
+}</programlisting>
+			<caution>
+				<para>
+					@ViewScoped beans are destroyed when the JSF UIViewRoot object is destroyed. This means that the
+					life-span of @ViewScoped beans is dependent on the <literal>javax.faces.STATE_SAVING_METHOD</literal> employed by the application itself,
+					but in general one can assume that the bean will live as long as the user remains on the same page.
+				</para>
+			</caution>
+		</para>
+	</section>
+</chapter>
\ No newline at end of file

Added: modules/documents/trunk/impl/pom.xml
===================================================================
--- modules/documents/trunk/impl/pom.xml	                        (rev 0)
+++ modules/documents/trunk/impl/pom.xml	2010-06-10 18:03:55 UTC (rev 13116)
@@ -0,0 +1,57 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+
+	<parent>
+		<artifactId>seam-documents-parent</artifactId>
+		<groupId>org.jboss.seam.documents</groupId>
+		<version>3.0.0-SNAPSHOT</version>
+      <relativePath>../pom.xml</relativePath>
+	</parent>
+
+	<artifactId>seam-documents</artifactId>
+	<version>3.0.0-SNAPSHOT</version>
+
+	<packaging>jar</packaging>
+	<name>Seam Documents Module Core Implementation</name>
+
+	<dependencies>
+		<dependency>
+			<artifactId>seam-documents-api</artifactId>
+			<groupId>org.jboss.seam.documents</groupId>
+			<version>${project.version}</version>
+			<scope>compile</scope>
+		</dependency>
+      <dependency>
+         <groupId>org.jboss.weld</groupId>
+         <artifactId>weld-extensions</artifactId>
+      </dependency>
+      <dependency>
+         <groupId>org.slf4j</groupId>
+         <artifactId>slf4j-api</artifactId>
+         <scope>provided</scope>
+      </dependency>
+	</dependencies>
+
+	<profiles>
+		<profile>
+			<id>code-coverage</id>
+			<build>
+				<plugins>
+					<plugin>
+						<groupId>org.codehaus.mojo</groupId>
+						<artifactId>emma-maven-plugin</artifactId>
+					</plugin>
+					<plugin>
+						<groupId>org.apache.maven.plugins</groupId>
+						<artifactId>maven-surefire-plugin</artifactId>
+					</plugin>
+					<plugin>
+						<groupId>org.sonatype.maven.plugin</groupId>
+						<artifactId>emma4it-maven-plugin</artifactId>
+					</plugin>
+				</plugins>
+			</build>
+		</profile>
+	</profiles>
+
+</project>

Added: modules/documents/trunk/impl/src/main/resources/META-INF/beans.xml
===================================================================
--- modules/documents/trunk/impl/src/main/resources/META-INF/beans.xml	                        (rev 0)
+++ modules/documents/trunk/impl/src/main/resources/META-INF/beans.xml	2010-06-10 18:03:55 UTC (rev 13116)
@@ -0,0 +1,27 @@
+<!--
+JBoss, Home of Professional Open Source
+Copyright 2010, Red Hat, Inc., and individual contributors
+by the @authors tag. See the copyright.txt in the distribution for a
+full listing of individual contributors.
+
+This is free software; you can redistribute it and/or modify it
+under the terms of the GNU Lesser General Public License as
+published by the Free Software Foundation; either version 2.1 of
+the License, or (at your option) any later version.
+
+This software is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this software; if not, write to the Free
+Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+02110-1301 USA, or see the FSF site: http://www.fsf.org.
+--> 
+<beans xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="
+      http://java.sun.com/xml/ns/javaee
+      http://java.sun.com/xml/ns/javaee/beans_1_0.xsd">
+	
+</beans>

Added: modules/documents/trunk/impl/src/main/resources/META-INF/services/javax.enterprise.inject.spi.Extension
===================================================================

Added: modules/documents/trunk/pom.xml
===================================================================
--- modules/documents/trunk/pom.xml	                        (rev 0)
+++ modules/documents/trunk/pom.xml	2010-06-10 18:03:55 UTC (rev 13116)
@@ -0,0 +1,101 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+   <modelVersion>4.0.0</modelVersion>
+
+   <parent>
+      <groupId>org.jboss.seam</groupId>
+      <artifactId>seam-parent</artifactId>
+      <version>1</version>
+   </parent>
+
+   <artifactId>seam-documents-parent</artifactId>
+   <groupId>org.jboss.seam.documents</groupId>
+   <version>3.0.0-SNAPSHOT</version>
+
+   <packaging>pom</packaging>
+   <name>Seam Documents Module Parent POM</name>
+
+   <prerequisites>
+      <maven>3.0</maven>
+   </prerequisites>
+
+   <description>
+		The Parent for Seam Documents Modules
+	</description>
+
+   <url>http://www.seamframework.org</url>
+
+   <modules>
+      <module>api</module>
+      <module>impl</module>
+   </modules>
+
+   <properties>
+      <seam.version>3.0.0.b01</seam.version>
+      <seam.i18n.version>3.0.0.Alpha1</seam.i18n.version>
+   </properties>
+
+   <dependencyManagement>
+      <dependencies>
+
+         <dependency>
+            <groupId>org.jboss.seam</groupId>
+            <artifactId>seam</artifactId>
+            <version>${seam.version}</version>
+            <scope>import</scope>
+            <type>pom</type>
+         </dependency>
+
+         <dependency>
+            <groupId>org.jboss.seam.international</groupId>
+            <artifactId>seam-international-api</artifactId>
+            <version>${seam.i18n.version}</version>
+         </dependency>
+
+      </dependencies>
+   </dependencyManagement>
+
+   <profiles>
+      <profile>
+         <id>distribution</id>
+         <activation>
+            <property>
+               <name>release</name>
+            </property>
+         </activation>
+         <modules>
+            <module>dist</module>
+            <module>docs/reference</module>
+         </modules>
+      </profile>
+      <profile>
+         <id>arquillian-glassfish-embedded-30</id>
+         <dependencies>
+            <dependency>
+               <groupId>org.jboss.arquillian.container</groupId>
+               <artifactId>arquillian-glassfish-embedded-30</artifactId>
+            </dependency>
+         </dependencies>
+      </profile>
+   </profiles>
+
+   <developers>
+      <developer>
+         <name>Lincoln Baxter, III</name>
+         <email>lincolnbaxter at gmail.com</email>
+         <url>http://ocpsoft.com</url>
+         <organization>JBoss, by Red Hat</organization>
+         <organizationUrl>http://jboss.org</organizationUrl>
+         <timezone>EST</timezone>
+         <roles>
+            <role>Project Lead</role>
+         </roles>
+      </developer>
+   </developers>
+
+   <scm>
+      <connection>scm:svn:http://anonsvn.jboss.org/repos/seam/modules/faces/trunk </connection>
+      <developerConnection>scm:svn:https://svn.jboss.org/repos/seam/modules/faces/trunk </developerConnection>
+      <url>http://fisheye.jboss.org/browse/Seam/modules/faces/trunk</url>
+   </scm>
+</project>
+

Added: modules/documents/trunk/readme.txt
===================================================================
--- modules/documents/trunk/readme.txt	                        (rev 0)
+++ modules/documents/trunk/readme.txt	2010-06-10 18:03:55 UTC (rev 13116)
@@ -0,0 +1,6 @@
+Building
+--------
+
+* Run mvn clean install
+* To create the zip distribution, run mvn clean install -Pdistribution - the resulting zip is located in dist/target/seam-face-${version}.zip 
+* The readme.txt  placed in the distribution is not this one, see dist/src/main/assembly/readme.txt 



More information about the seam-commits mailing list