Hi all,
I've finished deploying turbine-2.4-M1.jar. It should soon be available
from ibiblio: http://www.ibiblio.org/maven/turbine/jars. I'm also updating
the website documentation. This isn't a "official" release, but instead
just a tagged version that people using 2.4 can use. There are no
warranties implied on this!
Notes:
1) Code was tagged as TURBINE_2_4_M1
2) New Changelog format was introduced.
3) Contains the Pipeline backported from Turbine 3 as well as PipelineData
contributed by Peter Courcoux.
4) Code in the /extensions directory was NOT tagged, and is not part of this
milestone release.
Interestingly enough, 2.3 was a 751k jar file, while 2.4-M1 is only 617K jar
file.
Bug reports are encouraged!
Eric Pugh
Changes in this version include:
New Features:
o Replaced existing Maven plugin with Hennings' META: Maven Environment for
Turbine Applications plugin.
o 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.
o Added to website documentation the Maven Plugin for Turbine. Now has goals
to help with inplace development of Turbine apps.
o A means of initializing Velocity action modules has been added.
o Added first cut of the MerlinComponentService which uses the Avalon Merlin
container. Merlin has many many features to help with dealing with
components. Thanks to Peter Courcoux.
Fixed bugs:
o Fixed problem in Intake with the "remove" method in IntakeTool that is
triggered by a "removeAll".
o 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.
o 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.
o HttpUtils.httpDateFormat had the year set as 'yyyyy', should be 'yyyy'
therefore setting expiry dates failed.
o 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.
o 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.
o Actions triggered from html input elements with type="button" are now
processed correctly (the trailing ".x" and ".y" are removed from the event
names).
o 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).
o Intake was fixed so that DateString will use the "formatn" (where n
>=
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 $group.foo.StringValue rather
than $group.foo.Value (you can do this for all values, not just
DateString).
o 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 group.setProperties(obj) (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).
o Fixed the intake DateString flexible rule so that it applies to the format
rules and not just to the default locale format.
o DateFormatter now allows for a differnet date format to be provided via
tool.dateTool.format in TurbineResources.properties.
o DirectResponseLayout is provided to allow direct writing to
ServletOutputStream when VelocityOnlyLayout is the default. To use it you
need to add data.declareDirectResponse(); and then
data.setLayout("DirectResponseLayout"); to your action class. Thanks to
Peter Courcoux for the code.
Changes:
o Update to Commons Configuration 1.0-RC1. TurbineConfiguration.xml files
should switch from <dom4j
className="org.apache.commons.configuration.DOM4JConfiguration"
fileName="conf/test/TurbineResources.xml"/> to <xml
fileName="conf/test/TurbineResources.xml"/> syntax.
o Refactored how Turbine sets up it's ServerData object. Removed the use of
RunData from the process.
o Removed dependency on deprecated Log4jFactory in favor of Log4jLogger.
o 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.
o 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.
o Upgraded to commons-pool-1.1
o The cache, crypto, localization, intake, factory, and mimetype services
have now been deprecated in favor of the Fulcrum versions as well.
o Turbine security now uses the Fulcrum crypto component.
o 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.
o 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.
Removed features:
o Removed deprecated Turbine Security methods.
Have fun!
-The turbine team
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]