tapestry-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From jkuhn...@apache.org
Subject svn commit: r548108 - in /tapestry/tapestry4/trunk/src/site: apt/tutorials/index.apt xdoc/index.xml xdoc/usersguide/configuration.xml xdoc/usersguide/upgrade4.0.xml
Date Sun, 17 Jun 2007 20:43:48 GMT
Author: jkuhnert
Date: Sun Jun 17 13:43:48 2007
New Revision: 548108

URL: http://svn.apache.org/viewvc?view=rev&rev=548108
Log:
Cleaned up index page some.  Added some more upgrade guide information.

Modified:
    tapestry/tapestry4/trunk/src/site/apt/tutorials/index.apt
    tapestry/tapestry4/trunk/src/site/xdoc/index.xml
    tapestry/tapestry4/trunk/src/site/xdoc/usersguide/configuration.xml
    tapestry/tapestry4/trunk/src/site/xdoc/usersguide/upgrade4.0.xml

Modified: tapestry/tapestry4/trunk/src/site/apt/tutorials/index.apt
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/src/site/apt/tutorials/index.apt?view=diff&rev=548108&r1=548107&r2=548108
==============================================================================
--- tapestry/tapestry4/trunk/src/site/apt/tutorials/index.apt (original)
+++ tapestry/tapestry4/trunk/src/site/apt/tutorials/index.apt Sun Jun 17 13:43:48 2007
@@ -11,18 +11,71 @@
   {{{http://sundraw.ws/}Alexander Kolesnikov}} has written a great series of Tapestry 4 tutorials
that should be a great help for anyone
   getting started with Tapestry or just wanting a quick reference for some of the common
areas of development.
 
-  * {{{http://www.devshed.com/c/a/Apache/Making-a-CelebrityCollector-with-Apache-Tapestry-the-For-Component/}Making
a CelebrityCollector with Apache Tapestry: the For Component}}
+  [[1]] {{{http://www.devshed.com/c/a/Apache/Apache-Tapestry-4-Tutorial/}Apache Tapestry
4 Tutorial}}
 
-  * {{{http://www.devshed.com/c/a/Apache/Apache-Tapestry-and-Listener-Methods-Conditional-Components-and-PageLink/}Apache
Tapestry and Listener Methods, Conditional Components and PageLink}}
+  In this article we'll begin by taking a look at servlets and JavaServer Pages, then proceed
to learn about the MVC design pattern. After
+  examining the problems these technologies solved, we'll focus on the Tapestry framework,
study its advantages, and dispel some prejudices
+  about it. This is the first article in a multi-part series covering Tapestry.
 
-  * {{{http://www.devshed.com/c/a/Apache/The-Properties-of-Tapestry-Pages/}The Properties
of Tapestry Pages}}
+  [[1]] {{{http://www.devshed.com/c/a/Apache/Preparing-the-Workspace-for-Apache-Tapestry/}Preparing
the Workspace for Apache Tapestry}}
 
-  * {{{http://www.devshed.com/c/a/Apache/A-Closer-Look-at-Simple-Components-in-Apache-Tapestry/}A
Closer Look at Simple Components in Apache Tapestry}}
+  In the previous article of this series I explained, in the historical perspective, why
Tapestry is a very attractive and advanced framework
+  for building Java Web applications. Now we are moving from theory to practice. But before
doing anything, we need to prepare the workplace.
 
-  * {{{http://www.devshed.com/c/a/Apache/Introducing-Simple-Components-in-Apache-Tapestry/}Introducing
Simple Components in Apache Tapestry}}
+  [[1]] {{{http://www.devshed.com/c/a/Apache/Creating-Your-First-Tapestry-Project/}Creating
Your First Tapestry Project}}
 
-  * {{{http://www.devshed.com/c/a/Apache/Creating-Your-First-Tapestry-Project/}Creating Your
First Tapestry Project}}
+  In the previous article, we began moving from theory to practice by preparing our work
place and setting up our system. In this article, we
+  actually get our hands dirty (at least figuratively) by building our first Tapestry project.
 
-  * {{{http://www.devshed.com/c/a/Apache/Preparing-the-Workspace-for-Apache-Tapestry/}Preparing
the Workspace for Apache Tapestry}}
+  [[1]] {{{http://www.devshed.com/c/a/Apache/Introducing-Simple-Components-in-Apache-Tapestry/}Introducing
Simple Components in Apache Tapestry}}
 
-  * {{{http://www.devshed.com/c/a/Apache/Apache-Tapestry-4-Tutorial/}Apache Tapestry 4 Tutorial}}
+  In the previous article, you witnessed the interplay between a Tapestry page and its components
(granted, we had only one simple component
+  there, but you get my point). Page class, when rendering its page, finds any components
mentioned in the template and asks those components
+  to display themselves, as they know better how to do that. Components, in their turn, might
need some information to display themselves, and
+  they ask the page class to provide the necessary information by calling some of its methods
+
+  [[1]] {{{http://www.devshed.com/c/a/Apache/A-Closer-Look-at-Simple-Components-in-Apache-Tapestry/}A
Closer Look at Simple Components in Apache Tapestry}}
+
+  In the previous article, we took a look at some of the components that are used most often
in Tapestry applications, and learned some important
+  concepts related to them. At the end, we found that we needed three components for our
example application. In this article, we will configure
+  those components. We will also learn how to disable caching.
+
+  [[1]] {{{http://www.devshed.com/c/a/Apache/The-Properties-of-Tapestry-Pages/}The Properties
of Tapestry Pages}}
+
+  In the previous part of this tutorial we started to build a new project,  GuessTheWord.
 The project is very simple, but we are going to spend a lot of
+  time working on it and experimenting with it. This is because the main aim is to learn
a lot about the most basic concepts of Tapestry. For every important
+  concept, I want to show you a number of options as to how it can be implemented and explain
which option is good for what.
+
+  [[1]] {{{http://www.devshed.com/c/a/Apache/Apache-Tapestry-and-Listener-Methods-Conditional-Components-and-PageLink/}Apache
Tapestry and Listener Methods Conditional Components and PageLink}}
+
+  Today we continue to explore some of the most fundamental concepts of Tapestry while building
one of the simplest Java Web applications.  In the previous
+  part of this tutorial we became familiar with properties of Tapestry pages and different
ways to configure them.  Now we will look into the details of
+  writing listener methods.
+
+  [[1]] {{{http://www.devshed.com/c/a/Apache/Making-a-CelebrityCollector-with-Apache-Tapestry-the-For-Component/}Making
a CelebrityCollector with Apache Tapestry: the For Component}}
+
+  We are going to start a new project today, named CelebrityCollector.  At first it will
be very simple, but in the following articles we will be adding more
+  and more functionality to it.  Of course, the purpose at this stage of study is not to
build a real-world application but to meet different Tapestry
+  components and to learn various important concepts
+
+  [[1]] {{{http://www.devshed.com/c/a/Apache/Apache-Tapestry-and-DirectLink-IoC-and-DI/}Apache
Tapestry and DirectLink, IoC and DI }}
+
+  Previously we began building our CelebrityCollector application. But right now it is a
hollow shell.  In this article we will use several new Apache Tapestry
+  components to help us start filling in the details.
+
+  [[1]] {{{http://www.devshed.com/c/a/Apache/Apache-Tapestry-ASO-and-More-Components/}Apache
Tapestry: ASO and More Components}}
+
+  We shall continue working on the CelebrityCollector application.  The next step is to create
a page for adding a new celebrity.  While we create that page, I will
+  introduce you to three more components that will add new capabilities to our application
and help us get around certain problems.
+
+  [[1]] {{{http://www.devshed.com/c/a/Apache/The-DatePicker-and-Shell-Components-of-Apache-Tapestry/}The
DatePicker and Shell Components of Apache Tapestry}}
+
+  In the previous article in this series we came to adding a component for accepting a date
input, to specify the date of birth for the newly added celebrity.
+  DatePicker, a standard Tapestry component, is an excellent choice for this, and we are
going to learn today how to add a DatePicker to a page.
+
+  [[1]] {{{http://www.devshed.com/c/a/Apache/PropertySelection-and-IPropertySelectionModel-in-Apache-Tapestry/}PropertySelection
and IPropertySelectionModel in Apache Tapestry}}
+
+  We already encountered PropertySelection in one of the previous articles so we know that
it is a Tapestry component used to display a drop-down list, allowing the
+  user to choose one of multiple options.  You might think that the way in which options
are provided to this component (through its model binding) is somewhat
+  cumbersome when all you need to do is select one of a few strings.  However, PropertySelection
was designed with a great deal of power and flexibility in mind, and I
+  hope that today you will appreciate this.

Modified: tapestry/tapestry4/trunk/src/site/xdoc/index.xml
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/src/site/xdoc/index.xml?view=diff&rev=548108&r1=548107&r2=548108
==============================================================================
--- tapestry/tapestry4/trunk/src/site/xdoc/index.xml (original)
+++ tapestry/tapestry4/trunk/src/site/xdoc/index.xml Sun Jun 17 13:43:48 2007
@@ -1,6 +1,6 @@
 <?xml version="1.0"?>
 <!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.2//EN"
-    "http://maven.apache.org/dtd/xdoc_1_0.dtd">
+        "http://maven.apache.org/dtd/xdoc_1_0.dtd">
 <document>
     <properties>
         <title>Tapestry 4.1 - Dojo Integrated</title>
@@ -9,61 +9,67 @@
     <body>
         <section name="Tapestry 4.1 - Dojo Integrated">
             <p>
+                Tapestry is an open-source framework for creating dynamic, robust, highly
scalable
+                web applications in Java.  Tapestry complements and builds upon the standard
Java
+                Servlet API, and so it works in any servlet container or application server.
+            </p>
+
+            <p>
                 This development series is focused around providing a full layer of support
for building
                 highly dynamic web applications (XHR/ajax/dhtml).  Whether you would like
to sprinkle in a
-                few tiny ajax effects in an existing application, or build a full featured
<em>heavy client</em> 
-                application Tapestry(and <a href="http://dojotoolkit.org">dojo</a>)
should be able to 
+                few tiny ajax effects in an existing application, or build a full featured
<em>heavy client</em>
+                application Tapestry(and <a href="http://dojotoolkit.org">dojo</a>)
should be able to
                 support your needs.
-                
+
                 <a href="http://opencomponentry.com:8080/timetracker"><img style="float:right;margin-top:8px;margin-left:8px"
src="./images/autocompleter.png" alt="Autocompleting select component" /></a>
             </p>
-            
+
             <p><strong>New Features:</strong></p>
             <ul>
-                <li><b>JSON -</b>  Brand new <a href="apidocs/org/apache/tapestry/IJSONRender.html">API</a>

-                                   enabling data communication via the 
-                                   <a href="http://json.org/">JSON</a>(JavaScript
Object Notation) 
-                                   standard. New <a href="apidocs/org/apache/tapestry/dojo/IWidget.html">component
classes</a> 
-                                   and <a href="apidocs/org/apache/tapestry/services/ResponseBuilder.html">rendering
schemes</a> also accompany the API addition, allowing anyone to easily 
-                                   add JSON communication to an existing component or new
components. </li>
-                <li><b>XHR -</b>  The ever popular XML communication format
has also been added into the 
-                                  <a href="apidocs/org/apache/tapestry/services/impl/DojoAjaxResponseBuilder.html">Tapestry
core</a>, 
-                                  allowing most of the common <em>ajax</em> concepts
to be easily developed in yours 
-                                  and existing Tapestry components.</li>
-                <li><b><a href="http://dojotoolkit.org">Dojo</a>
bundled -</b> As all of the functionality 
-                                  in this release is based around the <a href="http://dojotoolkit.org">dojo</a>
-                                   javascript toolkit, we have provided it bundled with the
core Tapestry jar 
-                                   files. No profile building/installation necessary. Just
drop the jars in and
-                                   get at all of the client side goodies you like.</li>
-                <li><b>Widgets -</b> New <a href="http://dojotoolkit.org">dojo</a>
toolkit based 
-                                   <a href="apidocs/org/apache/tapestry/dojo/form/Autocompleter.html">widget</a>

-                                   <a href="apidocs/org/apache/tapestry/dojo/form/DropdownDatePicker.html">components</a>

-                                   and complimenting <a href="apidocs/org/apache/tapestry/dojo/form/IFormWidget.html">foundation</a>
Component classes make it easy for anyone to create
-                                   dojo widgets and use them as Tapestry components. The
initial 4.1 release won't be
-                                   as focused on providing new components as it will solid
infrastructure support, but
-                                   more and more will be included as the release matures.
Currently included are 
-                                   <em><a href="components/dojo/autocompleter.html">Autocompleter</a>
-                                   ,
-                                   <a href="components/dojo/dropdowndatepicker.html">DropdownDatePicker</a>
-                                   ,
-                                   <a href="components/dojo/dropdowntimepicker.html">DropdownTimePicker</a></em>.</li>
-                <li><b>Client Side Validation -</b> The <a href="usersguide/clientside-validation.html">client
side validation</a> support 
-                                    in Tapestry has been completely replaced with a new <a
href="http://dojotoolkit.org">dojo</a> based API, 
-                                    providing richer and <a href="javascript/form-validation.html">more
complete</a> validation than has been 
-                                    seen in previous releases. All of the validation constraints
that can be specified on the server now have 
-                                    client side functional equivalents. Default logic for
displaying validation errors/interactions on the client side
-                                    UI has also been updated a great deal. The old alert
box mechanism has been replaced by field
-                                    decorators that apply css rules to your form fields,
as well as dhtml dialog boxes displaying
-                                    summaries of errors. Much much more is planned in this
area, but the current set of functionality
-                                    should be more than enough to make many happy.</li>
+                <li><b>JSON -</b>  Brand new <a href="apidocs/org/apache/tapestry/IJSONRender.html">API</a>
+                    enabling data communication via the
+                    <a href="http://json.org/">JSON</a>(JavaScript Object Notation)
+                    standard. New <a href="apidocs/org/apache/tapestry/dojo/IWidget.html">component
classes</a>
+                    and <a href="apidocs/org/apache/tapestry/services/ResponseBuilder.html">rendering
schemes</a> also accompany the API addition, allowing anyone to easily
+                    add JSON communication to an existing component or new components. </li>
+                <li><b>XHR -</b>  The ever popular XML communication format
has also been added into the
+                    <a href="apidocs/org/apache/tapestry/services/impl/DojoAjaxResponseBuilder.html">Tapestry
core</a>,
+                    allowing most of the common <em>ajax</em> concepts to be
easily developed in yours
+                    and existing Tapestry components.</li>
+                <li><b><a href="http://dojotoolkit.org">Dojo</a>
bundled -</b> As all of the functionality
+                    in this release is based around the <a href="http://dojotoolkit.org">dojo</a>
+                    javascript toolkit, we have provided it bundled with the core Tapestry
jar
+                    files. No profile building/installation necessary. Just drop the jars
in and
+                    get at all of the client side goodies you like.</li>
+                <li><b>Widgets -</b> New <a href="http://dojotoolkit.org">dojo</a>
toolkit based
+                    <a href="apidocs/org/apache/tapestry/dojo/form/Autocompleter.html">widget</a>
+                    <a href="apidocs/org/apache/tapestry/dojo/form/DropdownDatePicker.html">components</a>
+                    and complimenting <a href="apidocs/org/apache/tapestry/dojo/form/IFormWidget.html">foundation</a>
Component classes make it easy for anyone to create
+                    dojo widgets and use them as Tapestry components. The initial 4.1 release
won't be
+                    as focused on providing new components as it will solid infrastructure
support, but
+                    more and more will be included as the release matures. Currently included
are
+                    <em><a href="components/dojo/autocompleter.html">Autocompleter</a>
+                        ,
+                        <a href="components/dojo/dropdowndatepicker.html">DropdownDatePicker</a>
+                        ,
+                        <a href="components/dojo/dropdowntimepicker.html">DropdownTimePicker</a></em>.</li>
+                <li><b>Client Side Validation -</b> The <a href="usersguide/clientside-validation.html">client
side validation</a> support
+                    in Tapestry has been completely replaced with a new <a href="http://dojotoolkit.org">dojo</a>
based API,
+                    providing richer and <a href="javascript/form-validation.html">more
complete</a> validation than has been
+                    seen in previous releases. All of the validation constraints that can
be specified on the server now have
+                    client side functional equivalents. Default logic for displaying validation
errors/interactions on the client side
+                    UI has also been updated a great deal. The old alert box mechanism has
been replaced by field
+                    decorators that apply css rules to your form fields, as well as dhtml
dialog boxes displaying
+                    summaries of errors. Much much more is planned in this area, but the
current set of functionality
+                    should be more than enough to make many happy.</li>
                 <li><b>New Annotations -</b> Perhaps the most exciting
new addition, a new <a href="tapestry-annotations/index.html#EventListener">@EventListener</a>
-                                    annotation has been added. This will allow people to
bind one of their page/component 
-                                    class listeners to virtually any client side widget/html
event concievable. The API also supports
-                                    varying types of listening, such as being able to submit
a form when a particular event happens, 
-                                    or simplying using the new <a href="apidocs/org/apache/tapestry/event/BrowserEvent.html">BrowserEvent</a>

-                                    object to determine the client side state when the event
happened. 
-                                    <em>(Such as x/y coordinates of mouse clicks, event
targets, etc..This is pretty
-                                    much a literal one-to-one mapping to real browser generated
Events.)</em></li>
+                    annotation has been added. This will allow people to bind one of their
page/component
+                    class listeners to virtually any client side widget/html event concievable.
The API also supports
+                    varying types of listening, such as being able to submit a form when
a particular event happens,
+                    or simplying using the new <a href="apidocs/org/apache/tapestry/event/BrowserEvent.html">BrowserEvent</a>
+                    object to determine the client side state when the event happened.
+                    <em>(Such as x/y coordinates of mouse clicks, event targets, etc..This
is pretty
+                        much a literal one-to-one mapping to real browser generated Events.)</em></li>
                 <li><b>Rounded Corner/Drop Shadow services -</b> <a
href="developmentguide/hivemind/roundedcorners.html">Check out</a> some of the cool
new
                     <a href="developmentguide/hivemind/roundedcorners.html">image generation
services</a> available.
                     <br />
@@ -72,33 +78,35 @@
                 </li>
             </ul>
 
-            <p><strong>New Tutorials!:</strong></p><br/>
-            <p><a href="tutorials/index.html">Devshed Tutorial Series</a>
written by <a href="http://sundraw.ws/">Alexander Kolesnikov</a>.</p>
-
-            <br />
+            <subsection name="New Tutorials!">
+                <p>
+                    A great new <a href="tutorials/index.html">Devshed Tutorial Series</a>
written by <a href="http://sundraw.ws/">Alexander Kolesnikov</a> has been slowly
+                    building up as he continues to pump new articles out.
+                </p>
+                <br /><br />
+                <p>
+                    The amount of material covered is closer to being an actual book than
a random set of tutorials.  This is
+                    well worth reading for anyone wanting to get a better overall handle
on using Tapestry 4.
+                </p>
+            </subsection>
 
-            <br />
-            <p><strong>Getting started?:</strong></p><br/>
-            <p>Try the maven2 <a href="tapestry-archetype/index.html">Archetype</a>
to bootstrap your project with some typical configurations.</p>
+            <subsection name="Getting started?: Try the Tapestry 4 Archetype">
+                <p>
+                    Try the maven2 <a href="tapestry-archetype/index.html">Archetype</a>
to bootstrap your project with some typical configurations.
+                </p>
+            </subsection>
 
-            <br /><br />
-
-            <p>
-                Tapestry is an open-source framework for creating dynamic, robust, highly
scalable
-                web applications in Java. Tapestry complements and builds upon the standard
Java
-                Servlet API, and so it works in any servlet container or application server.
-            </p>
         </section>
-        
+
         <section name="Dojo">
             <p>
                 <a href="http://dojotoolkit.org"><img src="./images/small-dojo-logo.png"
alt="Dojo Toolkit" style="float:right" /></a>
-                Most of the functionality in this series is based entirely on the wonderful

-                <a href="http://dojotoolkit.org">Dojo</a> javascript toolkit
library. Not to 
-                say that you won't easily be able to plug in another toolkit if you like,
just 
+                Most of the functionality in this series is based entirely on the wonderful
+                <a href="http://dojotoolkit.org">Dojo</a> javascript toolkit
library. Not to
+                say that you won't easily be able to plug in another toolkit if you like,
just
                 that the defaults will all be based around dojo.
             </p>
         </section>
-        
+
     </body>
 </document>

Modified: tapestry/tapestry4/trunk/src/site/xdoc/usersguide/configuration.xml
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/src/site/xdoc/usersguide/configuration.xml?view=diff&rev=548108&r1=548107&r2=548108
==============================================================================
--- tapestry/tapestry4/trunk/src/site/xdoc/usersguide/configuration.xml (original)
+++ tapestry/tapestry4/trunk/src/site/xdoc/usersguide/configuration.xml Sun Jun 17 13:43:48
2007
@@ -45,22 +45,15 @@
                 Operates correctly. Requires the Xerces parser to be in the classpath (usually
                 provided by the servlet container).
             </dd>
-
             <dt>Java 1.3.x</dt>
-
             <dd>
                 Operates correctly. Requires the Xerces parser to be in the classpath (usually
                 provided by the servlet container).
             </dd>
-
             <dt>Java 1.4.x (recommended)</dt>
-
-
             <dd>Operates correctly.</dd>
         </dl>
 
-
-
         <p>Supported Java Servlet API Versions:</p>
 
         <dl>
@@ -77,10 +70,7 @@
         </dl>
 
 
-
         <subsection name="Web deployment descriptor">
-
-
             <p>
                 All Tapestry applications make use of the
                 <a
@@ -187,6 +177,7 @@
                 operate without an application specification.
             </p>
 
+            <p>
             <span class="warn">
                 <strong>Fixme:</strong>
                 <p>
@@ -195,6 +186,7 @@
                 . In 4.0, the servlet will create and initialize a HiveMind Registry.
                 </p>
             </span>
+            </p>
 
             <p>
                 The specification is normally stored under WEB-INF. In fact, Tapestry performs
a
@@ -239,8 +231,6 @@
         </subsection><!-- configuration.deployment-descriptor -->
 
         <subsection name="Application Property Source">
-
-
             <p>
                 Tapestry occasionally must obtain a value for a configuration property. These
                 configuration properties are items that are frequently optional, and don't
fit into
@@ -253,6 +243,7 @@
                 general, the search path for configuration properties is:
             </p>
 
+            <p>
             <ul>
                 <li>
                     As a
@@ -276,23 +267,24 @@
                     symbols.
                 </li>
             </ul>
+            </p>
 
             <p>
                 It is expected that some configuration properties are not defined at any
level;
                 those will return null.
             </p>
-
-
+            
             <p>Applications are free to leverage this lookup mechanism as well.</p>
-
+            
+            <p>
             <span class="info">
-                <strong>Fixme:</strong>
+                <strong>fixme:</strong>
                 <p>
-                Need to reference the ApplicationPropertySource, GlobalPropertySource and
-                ComponentPropertySource services here.
+                    Need to reference the ApplicationPropertySource, GlobalPropertySource
and ComponentPropertySource services here.
                 </p>
             </span>
-
+            </p>
+            
             <p>
                 Applications may also want to change or augment the default search path;
this is
                 accomplished by overriding
@@ -305,6 +297,7 @@
                 . For example, some configuration data could be drawn from a database.
             </p>
 
+            <p>
             <span class="info">
                 <strong>Fixme:</strong>
                 <p>
@@ -312,7 +305,7 @@
                 HiveMind contribution, details to be provided.
                 </p>
             </span>
-
+            </p>
 
         </subsection><!-- configuration.app-property-source -->
 
@@ -384,7 +377,7 @@
 
                 <tr>
                     <td>org.apache.tapestry.component-class-packages</td>
-                    <td></td>
+                    <td> </td>
                     <td>
                         A comma-seperated list of package names, used when
                         <a href="page-class.html#page-class.component">

Modified: tapestry/tapestry4/trunk/src/site/xdoc/usersguide/upgrade4.0.xml
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/src/site/xdoc/usersguide/upgrade4.0.xml?view=diff&rev=548108&r1=548107&r2=548108
==============================================================================
--- tapestry/tapestry4/trunk/src/site/xdoc/usersguide/upgrade4.0.xml (original)
+++ tapestry/tapestry4/trunk/src/site/xdoc/usersguide/upgrade4.0.xml Sun Jun 17 13:43:48 2007
@@ -32,13 +32,64 @@
         </p>
     </section>
     
+    <section name="Core API Changes">
+        <p>
+            Many of the previously marked as deprecated for removal in Tapestry 4.1 API sections
have now been removed.  There is also some new functionality
+            that many may not be aware of.
+        </p>
+        <p>
+            <ul>
+                <li>
+                    <p>
+                        <b>IRequestCycle.getRequestContext() -</b> The old <code>getRequestContext()</code>
method has now been removed from
+                        <a href="../apidocs/org/apache/tapestry/IRequestCycle.html">IRequestCycle</a>.
 The proper way to get the equivalent
+                        functionality is to have the HttpServletRequest object <a href="injection.html">injected</a>
in to your page/component:
+                    </p>
+                    <source xml:space="preserve"><![CDATA[
+@InjectObject("service:tapestry.globals.HttpServletRequest")
+public abstract HttpServletRequest getRequest();
+]]></source>
+                </li>
+                <li>
+                    <p>
+                        <b>Autowiring services -</b>  Thanks to James Carman
of <a href="http://hivemind.apache.org">HiveMind</a> all components/pages now
support
+                        autowiring of services.  The rule is that you can have any service
/ configuration that is normally injectable via exlplicit
+                        <a href="injection.html">injection</a> configurations
simply by defining a property of the same type as any of the available HiveMind services.
+                        The only caveat is that services of the same interface with more
than one contributed definition can't be autowired as it would be impossible
+                        for the framework to correctly choose the right one.
+                    </p>
+                    <p>
+                        This should greatly cut down on a lot of pain of having to look up
service ids in the
+                        <a href="../tapestry-framework/hivedoc/">hivedoc</a>
documentation.  The injection of the HttpServletRequest outlined in the first point
+                        could be re-written as:
+                    </p>
+                    <source xml:space="preserve"><![CDATA[
+public abstract HttpServletRequest getRequest();
+]]></source>
+                </li>
+                <li>
+                    <p>
+                        <b>IRequestCycle.getServiceParameters() -</b> This method
has been replaced with <code>IRequestCycle.getListenerParameters()</code>.
+                    </p>
+                </li>
+                <li>
+                    <p>
+                        <b>org.apache.tapestry.event.PageRenderListener gone -</b>
PageRenderListener was split into PageBeginRenderListener and PageEndRenderListener.  More
+                        on the available listener types/events can be found <a href="events.html">here</a>.
+                    </p>
+                </li>
+            </ul>
+        </p>
+    </section>
+    
     <section name="Javascript">
         <p>
             One of the largest changes to come about has been the general strategy in dealing
with javascript inclusions as well 
             as bundling of the <a href="http://dojotoolkit.org">Dojo</a> javascript
toolkit directly in Tapestry. More about these 
             packaging changes can be found in the <a href="../javascript/index.html">javascript
guide</a>.
         </p>
-        
+
+        <p>
         <ul>
             <li>
             <strong>Javascript includes -</strong> The inclusion of dojo now
happens automatically if you are using the <a href="../components/general/shell.html">Shell</a>
component, 
@@ -188,7 +239,8 @@
                 unique <code>id="foo"</code> attributes to support the new method
as well. 
             </li>
           </ul>
-        
+        </p>
+    
         <span class="info">
             <strong>Note:</strong>
             <p>



Mime
View raw message