Revision: 829
          http://stripes.svn.sourceforge.net/stripes/?rev=829&view=rev
Author:   tfenne
Date:     2008-02-05 04:48:03 -0800 (Tue, 05 Feb 2008)

Log Message:
-----------
Added an upgrading.txt file to describe the process of moving form 1.4->1.5.

Modified Paths:
--------------
    trunk/readme.txt

Added Paths:
-----------
    trunk/upgrading.txt

Modified: trunk/readme.txt
===================================================================
--- trunk/readme.txt    2008-02-04 18:02:20 UTC (rev 828)
+++ trunk/readme.txt    2008-02-05 12:48:03 UTC (rev 829)
@@ -1,7 +1,7 @@
 Stripes Read Me
 http://www.stripesframework.org/
 
-Copyright 2005-2006 Tim Fennell
+Copyright 2005-2008 Tim Fennell
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.

Added: trunk/upgrading.txt
===================================================================
--- trunk/upgrading.txt                         (rev 0)
+++ trunk/upgrading.txt 2008-02-05 12:48:03 UTC (rev 829)
@@ -0,0 +1,118 @@
+Upgrading Stripes
+http://www.stripesframework.org/
+
+This file documents the steps involved in upgrading an application from Stripes
+1.4.x to Stripes 1.5. Since Stripes 1.0-1.4.3 have been backwards compatible it
+should be possible to apple these steps to upgrade to Stripes 1.5 from earlier
+versions also.
+
+Contents
+--------
+1. Required Steps
+2. Suggested Steps
+3. Backwards Incompatibilities
+
+1. Required Steps
+   --------------
+   -> Replace your existing stripes.jar with the new copy from the lib/ 
directory
+      of the distribution.
+   -> Replace your existing commons-logging.jar with the new copy from the lib/
+      directory of the distribution
+   -> If you are using commons-fileupload download the latest version from the
+      apache website 
http://commons.apache.org/downloads/download_fileupload.cgi
+
+2. Suggested Steps
+   --------------
+   One significant new feature in Stripes 1.5 that you may wish to leverage at 
upgrade
+   time is the concept of "Extension Packages". Using this feature you can 
inform Stripes
+   of one or more extension packages, e.g.:
+       <init-param>
+           <param-name>Extension.Packages</param-name>
+           <param-value>com.myco.myapp.web.stripesext</param-value>
+       <init-param>
+       
+   If one or more packages are specified Stripes will search these packages 
for classes
+   that implement various interfaces and wire them up without requiring you to 
configure
+   them manually in web.xml. This includes custom:
+     -> ActionBeanContext classes
+     -> Interceptor classes
+     -> ConfigurableComponent classes (e.g. ActionResolvers, LocalePickers)
+     
+   To reduce your configuration it is recommended that you move any and all 
such
+   custom classes into a single package hierarchy and specify the root 
package. Once
+   done you can remove all web.xml configuration for these custom classes.     
      
+
+3. Backwards Incompatibilities
+   ---------------------------
+   Stripes 1.5 is the first major release of Stripes that is not completely
+   backwards compatible with earlier versions of Stripes. However most of the
+   incompatible change are quite small and require only minor edits to your
+   application (often achievable with search & replace functionality). This
+   section documents these incompatibilities.
+
+   -> ActionResolver.PackageFilters has been replaced by 
ActionResolver.Packages
+      which is now a required configuration property. Changes in class 
scanning to
+      make it more efficient and robust across containers have changed the 
meaning
+      of this property and we have therefore changed the name to reflect this. 
If you
+      already specified ActionResolver.PackageFilters simply renaming it will 
do. 
+      Otherwise you must specify ActionResolver.Packages to be the list of 
root 
+      packages to scan for ActionBeans in your application
+
+   -> Attribute name change in @Before and @After annotations. Previously the 
+      lifecycle changes were specified using the 'value' attribute which 
+      allowed the abbreviated form of 
'@Before(LifecycleStage.BindingAndValidation)'.
+      Due to the addition of the 'on' attribute to support selective exection 
this
+      is no longer desirable and the 'value' attribute has been renamed to 
'stages'.
+      In most cases replacing '@Before(' with '@Before(stages=' (and the same 
for
+      @After) will be enough to  ix this problem.
+
+   -> The Validatable interface has been removed. Where it was used remove the 
+      implemented clause from your ActionBean and annotate your validate() 
method
+      with the @ValidationMethod annotation
+
+       -> The link-param tag has been removed in preference to the param tag. 
A search
+          and replace of 'link-param' to 'param' is sufficient to fix this.
+
+       -> SpringAwareActionResolver has been removed. Please instead use the
+          SpringInterceptor introduced in Stripes 1.3.
+       
+    -> Stripes now performs stricting checking of various annotations. If you 
have
+       multiple methods annotated with @DefaultHandler or if you have 
@Validate  
+       annotations in multiple locations (e.g. getter and setter) for a single
+       property Stripes will throw an exception instead of producing 
non-deterministic
+       behaviour.
+
+       -> The _sourcePage parameter is no longer inserted into links (using 
the link and
+          url tags) by default (it is still submitted in forms). If the 
_sourcePage parameter
+          is relied on in certain places you can request Stripes insert it 
using the new
+          attribute sourcePage="true".
+       
+       -> The way Interceptor classes are configured has changed. Two 
configuration 
+          properties are supported: 'Interceptor.Classes' and 
'CoreInterceptor.Classes'.
+          The first has the same name as before but the behaviour has changed. 
Now specifying
+          this property does NOT require you to specify the interceptors that 
Stripes
+          executes by default, only additional interceptors you would like to 
use. To
+          override the set of core interceptors used by Stripes you may now 
separately
+          specify the 'CoreInterceptor.Classes' property. When upgrading you 
should
+          remove referenced to the BeforeAfterMethodInterceptor from the
+          'Interceptor.Classes' property.
+       
+       -> Behaviour of file uploads when using commons-fileupload has changed 
to match
+          the behaviour when using the cos implementation. When the user does 
not provide
+          a file a null FileBean will be produced instead of one containing a 
zero-length
+          file.  In addition the filenames returned will never have path 
information
+       (previously path information would be included if the user was using 
IE).
+
+    -> ActionClassCache has been removed. If you require a list of all 
ActionBeans
+       configured use ActionResolver.getActionBeanClasses() instead.
+
+    In addition to the above changes there have also been changes to several 
core classes.
+    In most cases these changes will be invisible to application developers, 
but where you
+    have implemented your own ConfigurableComponents from scratch (as opposed 
to extending
+    the default implementations) you may notice additional interface methods 
and changes
+    to signatures. Please refer to the javadoc for the 1.5 release in these 
cases. The 
+    following is a non-exhaustive list of core classes with interface changes 
in 1.5:
+        -> Configuration (and implementations thereof)
+        -> ActionResolver (and implementations thereof)
+        -> BootstrapPropertyResolver
+        -> UrlBuilder


This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Stripes-development mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/stripes-development

Reply via email to