henning     2004/11/08 14:12:24

  Modified:    xdocs    Tag: TURBINE_2_3_BRANCH changes.xml
  Log:
  New "changes" format.
  
  Revision  Changes    Path
  No                   revision
  No                   revision
  1.60.2.23 +347 -549  jakarta-turbine-2/xdocs/changes.xml
  
  Index: changes.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-turbine-2/xdocs/changes.xml,v
  retrieving revision 1.60.2.22
  retrieving revision 1.60.2.23
  diff -u -r1.60.2.22 -r1.60.2.23
  --- changes.xml       26 Oct 2004 13:24:26 -0000      1.60.2.22
  +++ changes.xml       8 Nov 2004 22:12:24 -0000       1.60.2.23
  @@ -21,166 +21,88 @@
   <document>
   
   <properties>
  -  <title>2.x Changes</title>
  -  <author email="[EMAIL PROTECTED]">Jason van Zyl</author>
  -  <author email="[EMAIL PROTECTED]">John D. McNally</author>
  -  <author email="[EMAIL PROTECTED]">Martin Poeschl</author>
  +  <title>Changelog</title>
     <author email="[EMAIL PROTECTED]">Henning P. Schmiedehausen</author>
  -  <author email="[EMAIL PROTECTED]">Quinton McCombs</author>
  -  <author email="[EMAIL PROTECTED]">Eric Pugh</author>
   </properties>
   
   <body>
  +  <release version="2.3.2-dev" date="in CVS">
  +    <action type="update" dev="henning">
  +      Make the default encoding for incoming requests configureable. This 
allows you to post
  +      forms from UTF-8 or other encodings into Turbine. 
  +    </action>
  +  </release>
   
  -<!--
  -<section name="Turbine CURRENT_RELEASE">
  -
  -<p>
  -Changes between Turbine LAST_RELEASE and CURRENT_RELEASE.
  -</p>
  -
  -<p>
  -</p>
  -
  -<subsection name="Changes that could break older environments">
  -<p>
  -  <ul>
  -    <li>
  -    </li>
  -  </ul>
  -</p>
  -</subsection>
  -
  -
  -<subsection name="Other changes">
  -<p>
  -  <ul>
  -    <li>
  -    </li>
  -  </ul>
  -</p>
  -</subsection>
  -
  -<subsection name="Fixed bugs">
  -<p>
  -  <ul>
  -    <li>
  -    </li>
  -  </ul>
  -</p>
  -</subsection>
  -</section>
  --->
  -
  -
  -<section name="Turbine 2.3.1">
  -
  -<subsection name="Other changes">
  -<p>
  -  <ul>
  -    <li>
  +  <release version="2.3.1" date="2004-10-29">
  +    <action type="update" dev="henning">
          JavaBaseFactory executed a Class.forName() every time it was
          searching for a named class, which showed up as a very costly
          API call in our profiling.  A synchronized cache has been added
          to cache previously obtained class instances inside this class.
  -    </li>
  -  </ul>
  -</p>
  -</subsection>
  -
  -</section>
  -
  -<section name="Turbine 2.3.1-rc2">
  -
  -<p>
  -Changes between Turbine 2.3.1-rc1 and 2.3.1-rc2.
  -</p>
  -
  -<subsection name="Fixed bugs">
  -<p>
  -  <ul>
  -    <li>
  +    </action>
  +  </release>
  +
  +<release version="Turbine 2.3.1-rc2">
  +      <action type="update">
          Fix the brown paper bag bug that made RC1 unusable
          with Velocity. This is an implicit incompatibility between
          a change in Commons Configuration and an assumption in
          Turbine that threw a class cast exception in Commons 
          Collections and crashed Velocity. Isn't Java a cool thing?
  -    </li>
  -    <li>
  -      TTWS63: Intake rule parser sometimes corrupted rule message text.
  -    </li>
  -  </ul>
  -</p>
  -</subsection>
  -</section>
  -
  -<section name="Turbine 2.3.1-rc1">
  -
  -<p>
  -Changes between Turbine 2.3 and 2.3.1-rc1.
  -</p>
  -
  -<subsection name="Changes that could break older environments">
  -<p>
  -  <ul>
  -    <li>Turbine no longer configures the logging factory for
  +    </action>
  +    <action type="update" issue="TTWS63">
  +      Intake rule parser sometimes corrupted rule message text.
  +    </action>
  +  </release>
  +
  +<release version="Turbine 2.3.1-rc1">
  +
  +      <action type="update">Turbine no longer configures the logging factory 
for
           commons-logging explicitly.  If you relied on this behaviour,
           you must add a commons-logging.properties file to your
           application as described in the <a
           
href="http://jakarta.apache.org/commons/logging/apidocs/org/apache/commons/logging/package-summary.html";>commons
           logging documentation</a>
  -    </li>
  -    <li>commons-configuration was upgraded to 1.0-rc1. All getVector() 
method calls on the
  +    </action>
  +    <action type="update">commons-configuration was upgraded to 1.0-rc1. All 
getVector() method calls on the
           Configuration interface must be replaced with getList().
  -    </li>
  -    <li>commons-lang was upgraded to 2.0.
  -    </li>
  -    <li>commons-collections was upgraded to 3.0.
  -    </li>
  -    <li>stratum was upgraded to 1.0-b5.
  -    </li>
  -    <li>commons-logging was upgraded to 1.0.4.
  -    </li>
  -  </ul>
  -</p>
  -</subsection>
  -<subsection name="Other changes">
  -<p>
  -  <ul>
  -    <li>
  +    </action>
  +    <action type="update">commons-lang was upgraded to 2.0.
  +    </action>
  +    <action type="update">commons-collections was upgraded to 3.0.
  +    </action>
  +    <action type="update">stratum was upgraded to 1.0-b5.
  +    </action>
  +    <action type="update">commons-logging was upgraded to 1.0.4.
  +    </action>
  +      <action type="update">
         Intake was extended to provide Field values with &quot; escaped as
         &amp;quot; to provide valid values for HTML form inputs.
  -    </li>
  -  </ul>
  -</p>
  -</subsection>
  -
  -<subsection name="Fixed bugs">
  -<p>
  -  <ul>
  -    <li>
  +    </action>
  +
  +      <action type="update">
          Intake now handles multiValued="true" on type="int" fields correctly.
          The get/set methods of the underlying object need to deal with an 
array
          of ints.  The intake processing for other primitive types has also 
been 
          updated, though not tested to the same extent as int.
  -    </li>
  -    <li>
  +    </action>
  +    <action type="update">
          The intake validators were fixed so that fields with required=false 
          rules no longer attempt to execute the remaining rules when no
          input is provided.  A minLength > 0 rule is no longer synonymous
          with required=true.
  -    </li>
  -    <li>
  +    </action>
  +    <action type="update">
          Actions triggered from html input elements with type="button" are 
          now processed correctly (the trailing ".x" and ".y" are removed from
          the event names).
  -    </li>
  -    <li>
  +    </action>
  +    <action type="update">
          Intake was fixed so that fields with required elements with 
value=false 
          can later be enabled with field.setRequired(true) (i.e. you should 
          do this rather than using the deprecated required-message element).
  -    </li>
  -    <li>
  +    </action>
  +    <action type="update">
          Intake was fixed so that DateString will use the "formatn" (where n 
          &gt;= 1) rules to parse the input and then the "format" rule to 
format 
          it (the "format" rule is also used to parse the date if there are no
  @@ -188,8 +110,8 @@
          retrieve the correctly formatted DateString value you need to use
          <em>$group.foo.StringValue</em> rather than <em>$group.foo.Value</em> 
          (you can do this for all values, not just DateString).
  -    </li>
  -    <li>
  +    </action>
  +    <action type="update">
          Intake now makes use of the the emptyValue attribute from the field 
          elements when mapping from the group to the object when no value has 
          been set.  This makes it possible to clear values in an existing 
object
  @@ -199,115 +121,97 @@
          the primary key for the object in the intake group without actually 
          setting it to the appropriate value (it shouldn't be in the group 
          anyway).
  -    </li>
  -    <li>
  +    </action>
  +    <action type="update">
          Fixed the intake DateString flexible rule so that it applies to the
          format rules and not just to the default locale format.
  -    </li>
  -    <li>
  +    </action>
  +    <action type="update">
          DateFormatter now allows for a differnet date format to be provided
          via <em>tool.dateTool.format</em> in TurbineResources.properties.
  -    </li>
  -    <li>
  +    </action>
  +    <action type="update">
          DirectResponseLayout is provided to allow direct writing to 
          ServletOutputStream when VelocityOnlyLayout is the default.  To use it
          you need to add <em>data.declareDirectResponse();</em> and then 
          <em>data.setLayout("DirectResponseLayout");</em> to your action class.
          Thanks to Peter Courcoux for the code.
  -    </li>
  -    <li>
  +    </action>
  +    <action type="update">
          Upgraded to commons-pool-1.1
  -    </li>
  -      <li>
  +    </action>
  +      <action type="update">
           HttpUtils.httpDateFormat had the year set as 'yyyyy', should be 
'yyyy' therefore
           setting expiry dates failed.
  -      </li>
  -      <li>
  +      </action>
  +      <action type="update">
           TTWS60: HtmlPageAttributes setBackground sets the incorrect key name.
  -      </li>
  -  </ul>
  -</p>
  -</subsection>
  -
  -</section>
  -
  -<section name="Turbine 2.3">
  -
  -<p>
  -Changes between Turbine 2.2 and 2.3.
  -</p>
  -
  -<subsection name="Building">
  -<p>
  -  <ul>
  -    <li>
  +      </action>
  +  </release>
  +
  +<release version="Turbine 2.3">
  +
  +      <action type="update">
         It is now necessary to use Maven to build Turbine 2.3. The old,
         ant-based build system is no longer supported and actively removed
         from the distribution.
  -    </li>
  -    <li>
  +    </action>
  +    <action type="update">
         Turbine requires the Maven Torque plugin to build. If you don't
         use at least Maven 1.0b9, you will have to install it manually
         before you can recompile the source code.
  -    </li>
  -  </ul>
  -</p>
  -</subsection>
  -
  -<subsection name="Changes that could break older environments">
  -<p>
  -  <ul>
  -     <li>
  +    </action>
  +     <action type="update">
         The IntakeService has been refactored, introducing two Abstract 
classes; the 
         DefaultValidator and the NumberValidator. They both contain rules 
which are 
         applicable to all Validator's and NumbeValidator's respectively. 
Unnecessary use
         was being made of (Old) NumberValidator which used BigDecimals, 
cleaned this up
         implementing concrete classes for all Number Types. Simplified 
definition of 
         (number &amp; required) rules in Intake.xml.   
  -     </li>
  -    <li>
  +     </action>
  +    <action type="update">
         The LoginUser action no longer checks to see if the user object is 
already
         in the session and returns if it is found.  The user will always be 
there
         now.  If you have a custom LoginUser action that still performs this
         check, you will need to remove it in order for your login action to 
work.
  -    </li>
  -    <li>
  +    </action>
  +    <action type="update">
         AccessControlList is now an interface and its implementation is in
         TurbineAccessControlList. This is now configurable and can be replaced
         by a custom AccessControlList implementation. If older compiled code
         suddently throws IncompatibleClassChange errors, just recompile and
         they go away.
  -    </li>
  -    <li>
  +    </action>
  +    <action type="update">
         All deprecated java code was removed (incl. support for webmacro, 
freemarker
         and castor). Make sure to not get any deprecation warnings before you
         switch to 2.3!
  -    </li>
  -    <li>
  +    </action>
  +    <action type="update">
         The LoggingService was removed. Deprecated everything in the utils.Log 
class.
  -    </li>
  -    <li>
  +    </action>
  +    <action type="update">
          The TurbineResources Service was removed and replaced with 
commons-configuration.
  -    </li>
  -    <li>
  +    </action>
  +    <action type="update">
          The service initialization code has been changed. This is important if
          you write services yourself. You should supply a constructor which 
takes
          no parameters. The usage of a constructor which takes a RunData object
          is deprecated and might be removed later. If you're using the supplied
          services, you shouldn't notice any change.
  -    </li>
  -    <li>
  -       TTWS38: BaseValueParser.getInteger(String name) now returns null if 
the
  +    </action>
  +    <action type="update" issue="TTWS38">
  +       BaseValueParser.getInteger(String name) now returns null if the
          key name is not found - the old behaviour was to return new 
Integer(0).
          For consistency a similar change was made to getBool() and
          getBigInteger().
  -    </li>
  -    <li>
  +    </action>
  +    <action type="update">
           The velocity mail classes (o.a.t.util.velocity package) now throw
           VelocityEmailException instead of MessagingException if a problem
           occurs.
  -    </li>
  -    <li>
  +    </action>
  +    <action type="update">
         The handling of "," as a separator in template names was tightened and
         clarified. Many places where you could get away with using "/" as a 
separator
         or use a leading "/" for a template name now no longer work. There is 
a long
  @@ -315,39 +219,31 @@
         org.apache.turbine.services.template.TurbineTemplateService. If you 
want to volunteer
         for work on Turbine, feel free to whip this into an xdoc and put it 
into the
         documentation tree.
  -    </li>
  -    <li>
  +    </action>
  +    <action type="update">
         Some classes have been moved into different packages to allow cleanup 
and
         clarification of their usage. The old locations are still available 
but 
         deprecated. Examples are the parser classes from 
org.apache.turbine.util to
         org.apache.turbine.util.parser and some of the pull tools from 
org.apache.turbine.util.pull
         to org.apache.turbine.services.pull.tools
  -    </li>
  -    <li>
  +    </action>
  +    <action type="update">
         getSizeMax() in the UploadService interface and implementations changed
         from int to long to reflect a change that was made in the underlying 
         commons-fileupload component.
  -    </li>
  -  </ul>
  -</p>
  -</subsection>
  -
  -
  -<subsection name="Other changes">
  -<p>
  -  <ul>
  -    <li>
  +    </action>
  +      <action type="update">
         Added ability to specify either the class TurbineResources.properties 
file
         or a new TurbineConfiguration.xml file.  TurbineConfiguration.xml 
allows
         Turbine to pull it's configuration values from multiple locations.  
Please
         read the howto for more information.
  -    </li>
  -    <li>
  +    </action>
  +    <action type="update">
         Added a Howto describing using Hibernate with Turbine.  The actual 
code is
         currently not part of the Turbine distrib due to licensing issues, but 
is very
         easy to implement due to Turbine support of Avalon Components.
  -    </li>    
  -    <li>
  +    </action>    
  +    <action type="update">
         Changed TurbineUser so that when either perment or temporary values are
         stored, if the required hashtable was missing, then it was created.  
This
         happened in conjunction with the PassiveUserManager.  Additionally, the
  @@ -355,573 +251,475 @@
         Hashtable.  Cleaned up some of the code so the parallel permanent and 
temp
         data storage methods followed the same patterns.  Created a cactus 
testcase
         to test TurbineUser.
  -    </li>
  -    <li>
  +    </action>
  +    <action type="update">
         Changed scheduler so that if it is NOT enabled, then it doesn't attempt
         to connect to the database and retrieve jobs.  This prevents a spurious
         no data source error from showing up in the turbine logs on startup.  
Added
         a cactus test to test the fix.
  -    </li>
  -    <li>
  +    </action>
  +    <action type="update">
         A new pull tool is available in the session scope called $sessionData.
         This tool can be used to store data that will persist for the duration
         of the session.  This should be used instead of the getTemp() and
         setTemp() methods in TurbineUser.
  -    </li>
  -    <li>
  +    </action>
  +    <action type="update">
         The use of getPerm() and setPerm() methods in Turbine user have been
         deprecated.  See the Extending Turbine User how-to for using additional
         database columns for storage if you are using the DBSecurityService.
         You can also switch to the TorqueSecurityService where it is much 
easier
         to use additional columns.
  -    </li>
  -    <li>
  +    </action>
  +    <action type="update">
         Perm scope pull tools have been deprecated.  If you use these type of
         tools, you need to switch to authorized scope pull tools.  These tools
         are initialized with a user object.  Any state information that you 
were
         storing in the tools itself, you will now need to store in the user
         object.
  -    </li>
  -    <li>
  +    </action>
  +    <action type="update">
         Turbine used to remove all data from the session before executing
         the login action.  This no longer happens.  Instead, the session
         is invalidated before calling to logout action.
  -    </li>
  -    <li>
  +    </action>
  +    <action type="update">
         There is a new pull tool that makes it easy to format
         Date objects into Strings.  See
         org.apache.turbine.services.pull.util.DateFormatter for details.
  -    </li>
  -    <li>
  +    </action>
  +    <action type="update">
         Backported the Scheduler service from Fulcrum.  Other Scheduler
         related changes include:
  -      <ul>
  -      <li>
  +            <action type="update">
           The scheduler can now be enabled/disabled while Turbine is running.
  -      </li>
  -      <li>
  +      </action>
  +      <action type="update">
           A new pull tool is available to allow access to the Scheduler service
           from Velocity templates.  See
           org.apache.turbine.service.scheduler.SchedulerTool for details.
  -      </li>
  -      <li>
  +      </action>
  +      <action type="update">
           TurbineException is now thrown instead of Exception.
  -      </li>
  -      <li>
  +      </action>
  +      <action type="update">
           Torque generated objects are now used to for accessing the database. 
 You
           can now add additional fields for the OM objects without modifing 
the source
           code.  The OM objects are generated from scheduler-schema.xml
  -      </li>
  -      <li>
  +      </action>
  +      <action type="update">
           updateJob(job) can be used to add a new job.  It will perform the 
correct
           action (insert or update) for you.  addJob(job) simply calls 
updateJob(job).
  -      </li>
  -      <li>
  +      </action>
  +      <action type="update">
           A new fascade class has been created for easier access to the 
Scheduler Service.
           It is org.apache.turbine.services.schedule.TurbineScheduler.
  -      </li>
  -      </ul>
  -    </li>
  -    <li>
  +      </action>
  +          </action>
  +    <action type="update">
         Backported the Crypto Service from Fulcrum.
  -    </li>
  -    <li>
  -      TTWS24: With this patch LDAP security services can have users, groups,
  +    </action>
  +    <action type="update" issue="TTWS24">
  +      With this patch LDAP security services can have users, groups,
         roles and permissions in the LDAP repository. It also works with users 
in
         LDAP and the rest in the Database. <br/>
         Sample configuration files for Openldap can be found
         <a 
href="http://cvs.apache.org/viewcvs/jakarta-turbine-2/conf/openldap/";>
  -      here</a>
  -    </li>
  -    <li>
  -      TTWS34: Implemented the following functions in LDAPUserManager:
  +      here</a>.
  +    </action>
  +    <action type="update" issue="TTWS34">
  +      Implemented the following functions in LDAPUserManager:
         store(), createAccount() and removeAccount().
  -    </li>
  -    <li>
  +    </action>
  +    <action type="update">
         added new Logging code which uses commons-logging everywhere.
  -    </li>
  -    <li>
  +    </action>
  +    <action type="update">
          added new Configuration code based on commons-configuration. Switched
          all configuration requests to commons-configuration.
  -       <ul>
  -         <li>
  +                <action type="update">
              Configuration values can now be stored in XML, .properties, as 
well as JNDI Tree.
  -         </li>
  -         <li>
  +         </action>
  +         <action type="update">
                   Configuration values can be overridden.  If you specify JNDI 
and the .xml, if a value
                   is found in JNDI, then it is used.  Useful for overriding 
environment specific values
                   like mail servers or whether Velocity templates are 
reloadable.
  -         </li>         
  -       </ul>
  -    </li>
  -    <li>
  +         </action>         
  +           </action>
  +    <action type="update">
         added Log4j configuration and startup.
  -    </li>
  -    <li>
  +    </action>
  +    <action type="update">
         removed all remaining Torque code.
  -    </li>
  -    <li>
  +    </action>
  +    <action type="update">
         VelocityLayout is now the proposed default layout.
         VelocityECSLayout might go away post-2.3.
         See <a 
href="http://nagoya.apache.org/wiki/apachewiki.cgi?JakartaTurbine2/VelocityOnlyLayout";>
         Moving to VelocityOnlyLayout</a> to see what changes need to be made 
to your
         application(s).
  -    </li>
  -    <li>
  +    </action>
  +    <action type="update">
         TurbineException, TurbineRuntimeException, and TurbineError all extend
         the corresponding "Nestable" exception type from commons-lang.
  -    </li>
  -    <li>
  +    </action>
  +    <action type="update">
         VelocityHtmlMail can now be used in a scheduled job.  It has a new 
constructor
         accepting a velocity context object.
  -    </li>
  -    <li>
  +    </action>
  +    <action type="update">
         Intake changes:
  -      <ul>
  -        <li>
  +              <action type="update">
             Backported changes from Fulcrum version
  -        </li>
  -        <li>
  +        </action>
  +        <action type="update">
             IntakeException is now thrown from intake methods instead of
             TurbineException and Exception.
  -        </li>
  -        <li>
  +        </action>
  +        <action type="update">
             Multiple XML definition files can be used.
  -        </li>
  -        <li>
  +        </action>
  +        <action type="update">
             Logging has been improved to give more information when an
             error occurs.
  -        </li>
  -        <li>
  +        </action>
  +        <action type="update">
             The DTD has been updated and fully documented!
  -        </li>
  -        <li>
  +        </action>
  +        <action type="update">
             Intake now uses commons-pool for pooling.
  -        </li>
  -        <li>
  +        </action>
  +        <action type="update">
             intake.dtd is now packaged in the turbine.jar file.  If your
             intake.xml file validates against
             jakarta.apache.org/turbine/dtd/intake.dtd, then the DTD included
             in the jar file will be used instead of the online version.
  -        </li>
  -        <li>
  +        </action>
  +        <action type="update">
             The DTD resolved for intake will now look for intake.dtd on the
             class path when the DTD in the XMl file is
             http://jakarta.apache.org/turbine/dtd/intake_2_2_1.dtd.  The 
application
             functions in the same way.  This was done to allow XML editors to 
use
             the correct version of the DTD.
  -        </li>
  -        <li>
  +        </action>
  +        <action type="update">
             The field object has two new methods to help in creating the HTML
             input tags for the field.  They are getDisplaySize() and 
getMaxSize().
             The display size is set in the xml definition.  The max size is 
pulled
             from the maxLength rule (if defined).
  -        </li>
  -        <li>
  +        </action>
  +        <action type="update">
              The setDefaultValue() method on the Field object is now public.  
This
              will allow you to assign a value to a field for display on a form 
that
              does come from a mapped object.  Before this change, your only 
option
              was to defined the default value in intake.xml.
  -          </li>
  -      </ul>
  -    </li>
  -    <li>
  +          </action>
  +          </action>
  +    <action type="update">
           All deprecated calls to the old org.apache.turbine.util.Log have
           been replaced with calls to org.apache.commons.logging.Log.
  -    </li>
  -    <li>
  +    </action>
  +    <action type="update">
           A new SessionService has been added.  This will allow access to all
           sessions in the current context if you use Servlet API 2.3 or better.
  -    </li>
  -    <li>
  +    </action>
  +    <action type="update">
           The non-secure web server for handling xml-rpc requests
           will now use the services.XmlRpcService.address setting for
           the address on which to listen for requests.  If the setting
           is not found in TR.props, it will use the default of 0.0.0.0.
           This address will cause the server to listen on all
           addresses of a multi-homed machine.
  -    </li>
  -    <li>
  +    </action>
  +    <action type="update">
           Nearly all of the methods of o.a.t.util.StringUtils has been 
deprecated.  You should change your
           application code to use StringUtils from commons-lang.
  -    </li>
  -    <li>
  +    </action>
  +    <action type="update">
           All classed in the org.apache.turbine.util.mail package have been 
deprecated.  You should change your
           application code to use commons-mail instead.
  -    </li>
  -    <li>
  +    </action>
  +    <action type="update">
           Turbine now uses commons-fileupload.  The 
org.apache.turbine.util.upload
           package has been deprecated.
  -    </li>
  -    <li>
  +    </action>
  +    <action type="update">
           The Pull Service got a new scope: authorized tools. These are like 
Session Tools but only
           available after the user logged in.
  -    </li>
  -    <li>
  +    </action>
  +    <action type="update">
           The Pull Service got a new type of tools: RunDataApplicationTools. 
These tools get the
           current RunData object passed at every refresh(). This type 
obviously makes sense only
           for non-request scope tools.
  -    </li>
  -    <li>
  +    </action>
  +    <action type="update">
         Some services got static facade classes: FactoryService, JspService, 
RunDataService, SchedulerService.
  -    </li>
  -    <li>
  +    </action>
  +    <action type="update">
         Turbine can use the ConfigurationFactory from commons-configuration to 
load all kinds of configuration types
         like XML, JNDI or (still) plain properties files.
  -    </li>
  -    <li>
  +    </action>
  +    <action type="update">
         A completely new URI handling scheme was added and is now the proposed 
default method to handle URI representations
         in Turbine. The older URI handling classes like ContentURI and 
DynamicURI will go after the 2.3 release.
  -    </li>
  -    <li>
  +    </action>
  +    <action type="update">
         A new Security Service is available: TorqueSecurityService. It has the 
same functionality as the DBSecurityService
         but allows the usage of arbitrary Torque generated peer classes and 
objects as security objects.
  -    </li>
  -    <li>
  +    </action>
  +    <action type="update">
         The security object get methods from Security Service have been 
deprecated and replaced by methods which are
         able to reference Objects by Name and by Primary Key.
  -    </li>
  -    <li>
  +    </action>
  +    <action type="update">
         The TurbineDB Service has been deprecated. Use Torque and the 
Component Service to start Torque.
  -    </li>
  -    <li>
  +    </action>
  +    <action type="update">
         It is possible to debug pressure on the PoolService by setting 
services.PoolService.pool.debug to true 
         in the TurbineResources.properties.
  -    </li>
  -    <li>
  +    </action>
  +    <action type="update">
         Turbine now has some integration for Avalon Components. It can start
         Avalon based components with the new AvalonComponentService.
  -    </li>
  -    <li>Added a new TurbineMacros file to the turbine jar, which contains 
some helper
  +    </action>
  +    <action type="update">Added a new TurbineMacros file to the turbine jar, 
which contains some helper
           macros for Velocity Templates. Currently there are only some macros 
to be used
           with VelocityOnlyLayout to render the page attributes like in 
VelocityECSLayout
           based pages.
  -    </li>
  -    <li>
  +    </action>
  +    <action type="update">
         The ComponentService (using the stratum lifecycle interfaces) is 
         deprecated. It will be removed after the 2.3 release as the stratum 
         package is unmaintained. We use the new AvalonComponentService to
         initialize Torque. 
  -    </li>
  -    <li>
  +    </action>
  +    <action type="update">
         ActionEvent and VelocityActionEvent can "ignore" 
eventSubmit_&lt;xxx&gt; events if they 
         contain an empty or a zero value. This behaviour is controlled by the 
"action.eventsubmit.needsvalue"
         property that defaults to "off", which  means no change from the 
pre-2.3 behaviour. The new behaviour
         is  useful if you have multiple event fields in a form and only one 
should be selected 
         (e.g. by a client side java script application).
  -    </li>
  -    <li>
  +    </action>
  +    <action type="update">
         VelocityService now uses the EventCartridge Code to catch and log 
invocation errors from templates.
         This is very useful when debugging pull tools, because you get the 
actual exception in the log and
         not only the velocity internal stack trace. You can switch this 
behaviour off by setting 
         "services.VelocityService.catch.errors" to off or false.
  -    </li>
  -    <li>
  +    </action>
  +    <action type="update">
         Intake can now assign "empty" values to fields which are not returned 
or left out by the browser. This
         is useful if you want your string fields not to map to null if the 
user does not enter anything.
  -    </li>
  -  </ul>
  -</p>
  -</subsection>
  -
  -<subsection name="Fixed bugs">
  -<p>
  -  <ul>
  -    <li>
  -      TTWS25: Removed deprecated call to TurbineDB
  -    </li>
  -    <li>
  +    </action>
  +      <action type="update" issue="TTWS25">
  +        Removed deprecated call to TurbineDB.
  +    </action>
  +    <action type="update">
         TRQD10: Extending Turbine User How-to for T2.2
  -    </li>
  -    <li>
  -      TTWS20: Intake can not set mapped attributes to null.
  -    </li>
  -    <li>
  +    </action>
  +    <action type="update" issue="TTWS20">
  +      Intake can not set mapped attributes to null.
  +    </action>
  +    <action type="update">
         Changed made to scheduled jobs are now recognized by the scheduler
         service.  Before, it would only recognize changes to the next run
         time.
  -    </li>
  -    <li>
  +    </action>
  +    <action type="update">
         Fixed null pointer exception during initialization of IntakeTool when 
there are
         no groups defined in intake.xml
  -    </li>
  -    <li>
  -      TTWS41: PrimaryKey not set on TurbineUser after insert.
  -    </li>
  -    <li>
  +    </action>
  +    <action type="update" issue="TTWS41">
  +      PrimaryKey not set on TurbineUser after insert.
  +    </action>
  +    <action type="update">
         Cookies now work properly.  A NullPointerException was being thrown
         during the call to data.getCookies() if no cookies were present.  Also,
         the path for cookies was being set incorrectly.  Both of these issues
         have been fixed.
  -    </li>
  -    <li>
  +    </action>
  +    <action type="update">
         The pull service now really refreshes non-request tool every time a 
tool is requested.
  -    </li>
  -  </ul>
  -</p>
  -</subsection>
  -
  -</section>
  -
  -<section name="Turbine 2.2 (= 2.2-rc2)">
  -<p>
  -Changes between Turbine 2.2-rc1 and 2.2.
  -</p>
  -
  -<subsection name="Other changes">
  -<p>
  -  <ul>
  -    <li>
  -      TTWS1: TemplatePageAttributes enhancements
  -    </li>
  -    <li>
  -      TTWS5: Reference support for DynamicURI
  -    </li>
  -    <li>
  -      TTWS13: IntakeTool.getGroups() should be public
  -    </li>
  -  </ul>
  -</p>
  -</subsection>
  -</section>
  -
  -<section name="Turbine 2.2-rc1">
  -<p>
  -Changes between Turbine 2.2-b2 and 2.2-rc1.
  -</p>
  -
  -<subsection name="Other changes">
  -<p>
  -  <ul>
  -    <li>
  +    </action>
  +  </release>
  +
  +<release version="Turbine 2.2 (= 2.2-rc2)">
  +
  +      <action type="update" issue="TTWS1">
  +        TemplatePageAttributes enhancements.
  +    </action>
  +    <action type="update" issue="TTWS5">
  +      Reference support for DynamicURI.
  +    </action>
  +    <action type="update" issue="TTWS13">
  +      IntakeTool.getGroups() should be public.
  +    </action>
  +  </release>
  +
  +<release version="Turbine 2.2-rc1">
  +
  +      <action type="update">
         Enhancements to support Apache XML-RPC versions 1.2 alpha 1 and 2.
  -    </li>
  -  </ul>
  -</p>
  -</subsection>
  -
  -<subsection name="Fixed bugs">
  -<p>
  -  <ul>
  -    <li>
  +    </action>
  +
  +      <action type="update">
         TRQD2: Update to intake-howto to mention remove()
  -    </li>
  -  </ul>
  -</p>
  -</subsection>
  -</section>
  -
  -<section name="Turbine 2.2-b2">
  -
  -<p>
  -Changes between Turbine 2.2-b1 and 2.2-b2.
  -</p>
  +    </action>
  +  </release>
  +
  +<release version="Turbine 2.2-b2">
   
  -<p>
  -<b>The coupled version of Torque has been removed from Turbine 2.2!</b> <br/>
  +      <action type="update">
  +        The coupled version of Torque has been removed from Turbine 2.2!
   Get a full list of changes at the
   <a href="http://jakarta.apache.org/turbine/torque/changes";>Torque-site</a>.
  -</p>
  +      </action>
   
  -<subsection name="Changes that could break older environments">
  -<p>
  -  <ul>
  -    <li>
  +      <action type="update">
         the coupled version of torque has been removed.
  -    </li>
  -  </ul>
  -</p>
  -</subsection>
  +    </action>
   
  -
  -<subsection name="Other changes">
  -<p>
  -  <ul>
  -    <li>
  +      <action type="update">
         Maven is used as build system for Turbine 2.2
  -    </li>
  -    <li>
  +    </action>
  +    <action type="update">
         removed antiquated redirect logic.
  -    </li>
  -    <li>
  +    </action>
  +    <action type="update">
         You can use log4j properties directly.
  -    </li>
  -    <li>
  +    </action>
  +    <action type="update">
         The configuration package has been moved from stratum to commons
  -    </li>
  -    <li>
  +    </action>
  +    <action type="update">
         BaseValueParser.setProperty() changed from private to protected
  -    </li>
  -  </ul>
  -</p>
  -</subsection>
  -
  -<subsection name="Fixed bugs">
  -<p>
  -  <ul>
  -    <li>
  +    </action>
  +
  +      <action type="update">
         Fixed IllegalStateException when removing an attribute from an invalid
         session (patch by David Vandegrift - [EMAIL PROTECTED])
  -    </li>
  -    <li>
  +    </action>
  +    <action type="update">
         Fixed NumberFormatException in UUIdGenerator.
  -    </li>
  -  </ul>
  -</p>
  -</subsection>
  -</section>
  +    </action>
  +  </release>
   
   
  -<section name="Turbine 2.2b1">
  +<release version="Turbine 2.2b1">
   
  -<p>
  -Changes between Turbine 2.1 and 2.2b1.
  -</p>
  -
  -<p>
  +<action type="update">
   Torque and Fulcrum (the service framework) have been decoupled in preparation
   for Turbine 3.0. The decoupled versions can be used with Turbine 2.2.
   We strongly recommend to use the decoupled versions (some of the 'old' 
services
  -must be used, because they are used internally by Turbine)
  -</p>
  +must be used, because they are used internally by Turbine)<br/>
   
  -<p>
   If you wrote your own services you should also change them to be Fulcrum
  -services to make them work with Turbine 3.x
  -</p>
  -
  -<subsection name="Changes that could break older environments">
  +services to make them work with Turbine 3.x<br/>
  +</action>
   
  -<p>
  -  <ul>
  -    <li>
  +      <action type="update">
         The Service interface was extended to allow integration of Service
         implementations: <br/>
         <b>Service.getName()</b> <br/>
         since most Service implementations extend BaseService
         (which implements a public getName method), this should not be an 
issue.
  -    </li>
  -  </ul>
  -</p>
  -
  -</subsection>
  -
  -
  -<subsection name="Other changes">
  +    </action>
   
  -<p>
  -  <ul>
  -    <li>
  +      <action type="update">
         <b>ECS, Freemarker and Webmacro</b> services/modules are marked
         <b>deprecated</b>. You should use Velocity instead.
  -    </li>
  -    <li>
  +    </action>
  +    <action type="update">
         <b>Castor</b> service is marked as <b>deprecated</b>. You should use
         om/peer classes instead!
  -    </li>
  -    <li>
  +    </action>
  +    <action type="update">
         The XSLT Service is updated to use Xalan 2.0
  -    </li>
  -    <li>
  +    </action>
  +    <action type="update">
         Improved datatype mappings for mysql, oracle, postgresql, sapdb
  -    </li>
  -    <li>
  +    </action>
  +    <action type="update">
         adding support for DB2 on AS400 (patch by [EMAIL PROTECTED]).
  -    </li>
  -    <li>
  +    </action>
  +    <action type="update">
         adding support for secure connections in the xmlrpc service.
  -    </li>
  -    <li>
  +    </action>
  +    <action type="update">
         Added a configuration parameter to torque, addTimeStamp, that allows 
the
         user to generate files without a timestamp. Default is true, timestamps
         will be generated.
  -    </li>
  -    <li>
  +    </action>
  +    <action type="update">
         Criteria.Criterion implements Serializable
  -    </li>
  -    <li>
  +    </action>
  +    <action type="update">
         DB implements Serializable
  -    </li>
  -    <li>
  +    </action>
  +    <action type="update">
         torque: id-methods <i>sequence</i> and <i>autoincrement</i> are
         <b>deprecated</b>. You should use <b>native</b>. torque uses the method
         provided by your database
  -    </li>
  -    <li>
  +    </action>
  +    <action type="update">
         added static strings for ISNULL and ISNOTNULL to Criteria.
  -    </li>
  -    <li>
  +    </action>
  +    <action type="update">
         added getDateString() method to format date fields to DB.
  -    </li>
  -    <li>
  +    </action>
  +    <action type="update">
         added VelocityDirectLayout/Screen to make it possible to embed
         servlet/JSP outputs into a Velocity template used within Turbine.
         (patch by [EMAIL PROTECTED])
  -    </li>
  -    <li>
  +    </action>
  +    <action type="update">
         added an easy to use localization pull tool.
  -    </li>
  -    <li>
  +    </action>
  +    <action type="update">
         Javadocs improvements.
  -    </li>
  -    <li>
  +    </action>
  +    <action type="update">
         Documentation improvements.
  -    </li>
  -  </ul>
  -</p>
  -
  -</subsection>
  -
  -
  -<subsection name="Fixed bugs">
  -
  -<p>
  -  <ul>
  -
  -    <li>
  +    </action>
  +  
  +    <action type="update">
         fixed error in Mssql unique.vm template (removed a blank line)
  -    </li>
  -    <li>
  +    </action>
  +    <action type="update">
         [2301] Embedding message parts in HtmlEmail throws 
NullPointerException.
  -    </li>
  -    <li>
  +    </action>
  +    <action type="update">
         bugfix for BigDecimal attributes with default value
  -    </li>
  -    <li>
  +    </action>
  +    <action type="update">
         fixed handling of sequences for db2, oracle, postgresql, sapdb
  -    </li>
  -    <li>
  +    </action>
  +    <action type="update">
         fixed syntax for create index (postgresql)
  -    </li>
  -    <li>
  +    </action>
  +    <action type="update">
         fixed problem for postgres with blob style column in TurbineUser table.
         (patch by Jerome Veryleyen)
  -    </li>
  -    <li>
  +    </action>
  +    <action type="update">
         BaseUnicastRemoteService.java: Corrected method name (setName -> 
getName).
  -    </li>
  -    <li>
  +    </action>
  +    <action type="update">
         fixed Roleset.add(RoleSet) (patch by [EMAIL PROTECTED])
  -    </li>
  -    <li>
  +    </action>
  +    <action type="update">
         fixed database - defaultIdMethod (torque)
  -    </li>
  -    <li>
  +    </action>
  +    <action type="update">
         fixed date formating problem with Oracle.
  -    </li>
  -    <li>
  +    </action>
  +    <action type="update">
         fixed problem when ignoreCase was used with ISNULL or ISNOTNULL.
  -    </li>
  -    <li>
  +    </action>
  +    <action type="update">
         fixed Option object initialisation in SelectorBox
         (patch by Kurt Grafius [EMAIL PROTECTED])
  -    </li>
  -  </ul>
  -</p>
  -
  -</subsection>
  -
  -</section>
  +    </action>
  +  </release>
   
   </body>
   </document>
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to