blob: cd8f48985628396ce6867723fac61c93e31e49e0 [file] [log] [blame]
<?xml version="1.0"?>
<!--
/*
* Copyright 2001-2006 The Apache Software Foundation.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-->
<document>
<properties>
<title>Changes</title>
<author email="epugh@opensourceconnections.com.com">Eric Pugh</author>
</properties>
<body>
<release version="2.4-M2" date="in Subversion">
<action type="fix" dev="seade">
Added missing format() methods to LocalizationTool.
</action>
<action type="fix" dev="seade" issue="TRB-8" due-to="Gunther Olesch">
A FileItem in a ParameterParser added to TurbineURI or TemplateURI was
resulting in a NPE.
</action>
<action type="fix" dev="seade" issue="TRB-16" due-to="J&#252;rgen Hoffmann">
TurbineURI was mishandling the empty String.
</action>
<action dev="seade" type="update">
Updated jar dependency: javamail to 1.3.3
</action>
<action dev="sgoeschl" type="update">
The avalon-framework-4.3 allows to create an Avalon logger based on a commons logger.
</action>
<action dev="seade" type="fix">
BrowserDetector was throwing a NPE for recent versions of Opera - this
has been fixed.
</action>
<action dev="sgoeschl" type="update">
Setting all members of BaseServiceBroker to private as it should be.
</action>
<action dev="sgoeschl" type="update">
Removed hack in Turbine.java forcing an early init of the AvalonComponentService. The
removal could potentially break existing code if the AvalonComponentService is not
configured to be early initialized since the requested service wouldn't be found.
</action>
<action dev="sgoeschl" type="update">
Implementing transparent service lookup using TurbineServiceProviders
</action>
<action dev="sgoeschl" type="update">
The AvalonComponentService does not use the deprecated Component interface and ComponentException.
</action>
<action dev="sgoeschl" type="update">
Restructured the dependency section to distinguish between ECM and YAAFI dependencies.
</action>
<action dev="sgoeschl" type="update">
Use the Fulcrum components from Fulcrum 3.0.0
</action>
<action dev="sgoeschl" type="add">
Added YAAFI Avalon service container and the corresponding TurbineYaafiComponentService.
</action>
<action dev="sgoeschl" type="fix">
Removed remaining Merlin artifacts
</action>
<action dev="epugh" type="fix" due-to="Leandro Rodrigo Saad Cruz">
Handle non US-ASCII encoding with multipart/form-data mimetype better.
</action>
<action dev="epugh" type="remove">
Remove Merlin service. When the replacement for Merlin (Metro) is released, then
add back in support.
</action>
<action dev="epugh" type="update">
Use RELEASED versions of Fulcrum components!
</action>
<action dev="epugh" type="remove">
Remove old security services based on couple Torque.
</action>
<action dev="epugh" type="remove">
Remove dependencies on Stratum and Torque. Torque is now completely optional for Turbine.
Stratum has been replaced by the AvalonComponentService.
</action>
<action dev="seade" type="update">
The velocity page formatting macros have been updated to generate xhtml
compatible html.
</action>
</release>
<release version="2.4-M1" date="2004-08-14" description="Milestone release including Pipeline and PipelineData objects">
<action dev="epugh" type="update">
Update to Commons Configuration 1.0-RC1. TurbineConfiguration.xml files should switch
from &lt;dom4j className="org.apache.commons.configuration.DOM4JConfiguration" fileName="conf/test/TurbineResources.xml"/&gt;
to &lt;xml fileName="conf/test/TurbineResources.xml"/&gt; syntax.
</action>
<action dev="epugh" type="update">
Refactored how Turbine sets up it's ServerData object. Removed the use
of RunData from the process.
</action>
<action dev="" type="update">Removed dependency on deprecated Log4jFactory in favor of Log4jLogger.</action>
<action dev="" type="add">Replaced existing Maven plugin with Hennings' META: Maven Environment for
Turbine Applications plugin.</action>
<action dev="epugh" type="update">Updated to use Stratum b5 which properly supports the upcoming 1.0 release of
Commons Configuration. Also removed uses of getVector which has been removed
from the Configuration API.</action>
<action dev="epugh" type="add"> Backported the Pipeline from Turbine 3 to Turbine 2.4. The pipeline allows
you to define via an XML file all the stages for processing a request. This
makes it simple to add your own custom steps to be applied to each HTTP
request coming into Turbine. You will need to add the pipeline.xml file.
Added methods to many classes to allow the use of PipelineData as an
alternative to RunData. Added new PipelineDataApplicationTool interface for
tools which use PipelineData instead of RunData.</action>
<action dev="epugh" type="update">Maven Plugin for Turbine moved to /extensions directory. The torque
codegeneration of objects for the Schedule and Security services was
moved to a new project /extensions/torque. This removes all the nasty
logic required to code generate the torque objects before hand. Should
help new users work with Turbine as well as allow other backend providers
for the Schedule and LDAP security services. The multiproject plugin is
now used to build Turbine.</action>
<action dev="" type="remove">Removed deprecated Turbine Security methods.</action>
<action dev="" type="add">Added to website documentation the Maven Plugin for Turbine. Now has goals to
help with inplace development of Turbine apps.</action>
<action dev="" type="update">Upgraded to commons-pool-1.1</action>
<action dev="" type="add">A means of initializing Velocity action modules has been added.</action>
<action dev="epugh" type="add" due-to="Peter Courcoux">Added first cut of the MerlinComponentService which uses the Avalon Merlin
container. Merlin has many many features to help with dealing with components.</action>
<action dev="epugh" type="update">The cache, crypto, localization, intake, factory, and mimetype services have now been deprecated in favor
of the Fulcrum versions as well. </action>
<action dev="epugh" type="update">Turbine security now uses the Fulcrum crypto component.</action>
<action dev="epugh" type="update">The intake service within Turbine has been deprecated in favor
of the Fulcrum Intake service. The intake pull tool has
been updated to reflect this.</action>
<action dev="epugh" type="update">The localization service within Turbine has been deprecated in favor
of the Fulcrum Localization service. The localization pull tool has
been updated to reflect this.</action>
<action dev="" type="fix">Fixed problem in Intake with the "remove" method in IntakeTool that is
triggered by a "removeAll".</action>
<action dev="" type="fix">When there is more than one instance of a group and a "removeAll" is
done the "remove" method is called for each of the instances of the
group. If a mutiply instantiated group is the last one to be removed,
it's parameter entries will already have been removed and "getStrings"
returns null, which is not being handled in the code.</action>
<action dev="" type="fix"> 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.</action>
<action dev="" type="fix">HttpUtils.httpDateFormat had the year set as 'yyyyy', should be 'yyyy' therefore
setting expiry dates failed.</action>
<action dev="epugh" type="fix"> doXXX events would eat exceptions while doPerform would bubble them up.
Added property action.event.bubbleexception which is true by default that
applies to both types and either bubbles them up, or logs and sinks them.</action>
<action dev="" type="fix">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.</action>
<action dev="" type="fix">Actions triggered from html input elements with type="button" are
now processed correctly (the trailing ".x" and ".y" are removed from
the event names).</action>
<action dev="" type="fix"> 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).</action>
<action dev="" type="fix">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
"formatn" rules or they are not able to parse it). In order to
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).</action>
<action dev="" type="fix">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
that is being overwritten with Intake data using
<em>group.setProperties(obj)</em> (or you can provide non-null values
in your intake.xml file). Make sure you do not inadvertently include
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).</action>
<action dev="" type="fix">Fixed the intake DateString flexible rule so that it applies to the
format rules and not just to the default locale format.</action>
<action dev="" type="fix"> DateFormatter now allows for a differnet date format to be provided
via <em>tool.dateTool.format</em> in TurbineResources.properties.</action>
<action dev="" type="fix">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.</action>
</release>
<release version="PRE 2.4" description="Older Changes Logs">
<action>Please see <a href="changes-pre24.html">Pre 2.4 Changelog</a></action>
</release>
</body>
</document>