You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@turbine.apache.org by ep...@apache.org on 2004/08/14 16:39:56 UTC
cvs commit: jakarta-turbine-2/xdocs changes-pre24.xml changes.xml navigation.xml
epugh 2004/08/14 07:39:56
Modified: xdocs changes.xml navigation.xml
Added: xdocs changes-pre24.xml
Log:
Revamp how we track changes.
Revision Changes Path
1.91 +81 -899 jakarta-turbine-2/xdocs/changes.xml
Index: changes.xml
===================================================================
RCS file: /home/cvs/jakarta-turbine-2/xdocs/changes.xml,v
retrieving revision 1.90
retrieving revision 1.91
diff -u -r1.90 -r1.91
--- changes.xml 14 Aug 2004 13:35:44 -0000 1.90
+++ changes.xml 14 Aug 2004 14:39:56 -0000 1.91
@@ -16,142 +16,93 @@
* limitations under the License.
*/
-->
-
<document>
-
-<properties>
- <title>2.x Changes</title>
-</properties>
-
-<body>
-
-<!--
-<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.4">
-<p>
-Changes between Turbine 2.3 and 2.4.
-</p>
-
-<subsection name="Avalonized Components">
-<p>
- <ul>
- <li>
- 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 for this!
- </li>
- <li>
- The cache, crypto, localization, intake, factory, and mimetype services have now been deprecated in favor
- of the Fulcrum versions as well.
- </li>
- <li>
- Turbine security now uses the Fulcrum crypto component.
- </li>
- <li>
- The intake service within Turbine has been deprecated in favor
+ <properties>
+ <title>Changes</title>
+ <author email="epugh@opensourceconnections.com.com">Eric Pugh</author>
+ </properties>
+
+ <body>
+ <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 <dom4j className="org.apache.commons.configuration.DOM4JConfiguration" fileName="conf/test/TurbineResources.xml"/>
+ to <xml fileName="conf/test/TurbineResources.xml"/> 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.
- </li>
- <li>
- The localization service within Turbine has been deprecated in favor
+ 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.
- </li>
- </ul>
-</p>
-</subsection>
-
-<subsection name="Fixed bugs">
-<p>
- <ul>
- <li>
- Fixed problem in Intake with the "remove" method in IntakeTool that is
- triggered by a "removeAll".
- <br/>
- When there is more than one instance of a group and a "removeAll" is
+ 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.
- </li>
- <li>
- Intake now handles multiValued="true" on type="int" fields correctly.
+ 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.
- </li>
- <li>
- HttpUtils.httpDateFormat had the year set as 'yyyyy', should be 'yyyy' therefore
- setting expiry dates failed.
- </li>
- <li>
- doXXX events would eat exceptions while doPerform would bubble them up.
+ 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.
- </li>
- <li>
- The intake validators were fixed so that fields with required=false
+ 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.
- </li>
- <li>
- Actions triggered from html input elements with type="button" are
+ 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).
- </li>
- <li>
- Intake was fixed so that fields with required elements with value=false
+ 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).
- </li>
- <li>
- Intake was fixed so that DateString will use the "formatn" (where n
+ 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
>= 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).
- </li>
- <li>
- Intake now makes use of the the emptyValue attribute from the field
+ (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
@@ -159,789 +110,20 @@
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).
- </li>
- <li>
- Fixed the intake DateString flexible rule so that it applies to the
- format rules and not just to the default locale format.
- </li>
- <li>
- DateFormatter now allows for a differnet date format to be provided
- via <em>tool.dateTool.format</em> in TurbineResources.properties.
- </li>
- <li>
- DirectResponseLayout is provided to allow direct writing to
+ 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.
- </li>
- <ul>
- TTWS60: HtmlPageAttributes setBackground sets the incorrect key name.
- </ul>
- </ul>
-</p>
-</subsection>
-<subsection name="Other changes">
-<p>
- <ul>
- <li>
- 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.
- </li>
- <li>
- Refactored how Turbine sets up it's ServerData object. Removed the use
- of RunData from the process.
- </li>
- <li>
- Removed dependency on deprecated Log4jFactory in favor of Log4jLogger.
- </li>
- <li>
- Removed deprecated ECS Layouts.
- </li>
- <li>
- Replaced existing Maven plugin with Hennings' META: Maven Environment for
- Turbine Applications plugin.
- </li>
- <li>
- 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.
- </li>
- <li>
- 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.
- </li>
- <li>
- 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.
- </li>
- <li>
- Removed deprecated Turbine Security methods.
- </li>
- <li>
- Removed deprecated db service.
- </li>
- <li>
- Removed deprecated TurbineResources class.
- </li>
- <li>
- Added to website documentation the Maven Plugin for Turbine. Now has goals to
- help with inplace development of Turbine apps.
- </li>
- <li>
- Upgraded to commons-pool-1.1
- </li>
- <li>
- A means of initializing Velocity action modules has been added.
- </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>
- 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>
- 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>
- 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 & required) rules in Intake.xml.
- </li>
- <li>
- 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>
- 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>
- 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>
- The LoggingService was removed. Deprecated everything in the utils.Log class.
- </li>
- <li>
- The TurbineResources Service was removed and replaced with commons-configuration.
- </li>
- <li>
- 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
- 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>
- The velocity mail classes (o.a.t.util.velocity package) now throw
- VelocityEmailException instead of MessagingException if a problem
- occurs.
- </li>
- <li>
- 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
- description on how to use and not to use this in the javadoc for
- 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>
- 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>
- 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>
- 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>
- 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>
- 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
- setTempStorage(Hashtable newTempStorage) did not actually assign the new
- 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>
- 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>
- 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>
- 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>
- 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>
- 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>
- 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>
- Backported the Scheduler service from Fulcrum. Other Scheduler
- related changes include:
- <ul>
- <li>
- The scheduler can now be enabled/disabled while Turbine is running.
- </li>
- <li>
- 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>
- TurbineException is now thrown instead of Exception.
- </li>
- <li>
- 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>
- 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>
- 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>
- Backported the Crypto Service from Fulcrum.
- </li>
- <li>
- 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:
- store(), createAccount() and removeAccount().
- </li>
- <li>
- added new Logging code which uses commons-logging everywhere.
- </li>
- <li>
- added new Configuration code based on commons-configuration. Switched
- all configuration requests to commons-configuration.
- <ul>
- <li>
- Configuration values can now be stored in XML, .properties, as well as JNDI Tree.
- </li>
- <li>
- 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>
- added Log4j configuration and startup.
- </li>
- <li>
- removed all remaining Torque code.
- </li>
- <li>
- 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>
- TurbineException, TurbineRuntimeException, and TurbineError all extend
- the corresponding "Nestable" exception type from commons-lang.
- </li>
- <li>
- VelocityHtmlMail can now be used in a scheduled job. It has a new constructor
- accepting a velocity context object.
- </li>
- <li>
- Intake changes:
- <ul>
- <li>
- Backported changes from Fulcrum version
- </li>
- <li>
- IntakeException is now thrown from intake methods instead of
- TurbineException and Exception.
- </li>
- <li>
- Multiple XML definition files can be used.
- </li>
- <li>
- Logging has been improved to give more information when an
- error occurs.
- </li>
- <li>
- The DTD has been updated and fully documented!
- </li>
- <li>
- Intake now uses commons-pool for pooling.
- </li>
- <li>
- 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>
- 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>
- 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>
- 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>
- All deprecated calls to the old org.apache.turbine.util.Log have
- been replaced with calls to org.apache.commons.logging.Log.
- </li>
- <li>
- 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>
- 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>
- 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>
- 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>
- Turbine now uses commons-fileupload. The org.apache.turbine.util.upload
- package has been deprecated.
- </li>
- <li>
- The Pull Service got a new scope: authorized tools. These are like Session Tools but only
- available after the user logged in.
- </li>
- <li>
- 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>
- Some services got static facade classes: FactoryService, JspService, RunDataService, SchedulerService.
- </li>
- <li>
- 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>
- 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>
- 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>
- 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>
- The TurbineDB Service has been deprecated. Use Torque and the Component Service to start Torque.
- </li>
- <li>
- It is possible to debug pressure on the PoolService by setting services.PoolService.pool.debug to true
- in the TurbineResources.properties.
- </li>
- <li>
- 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
- 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>
- 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>
- ActionEvent and VelocityActionEvent can "ignore" eventSubmit_<xxx> 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>
- 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>
- 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>
- TRQD10: Extending Turbine User How-to for T2.2
- </li>
- <li>
- TTWS20: Intake can not set mapped attributes to null.
- </li>
- <li>
- 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>
- 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>
- 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>
- 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>
- Enhancements to support Apache XML-RPC versions 1.2 alpha 1 and 2.
- </li>
- </ul>
-</p>
-</subsection>
-
-<subsection name="Fixed bugs">
-<p>
- <ul>
- <li>
- 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>
-
-<p>
-<b>The coupled version of Torque has been removed from Turbine 2.2!</b> <br/>
-Get a full list of changes at the
-<a href="http://jakarta.apache.org/turbine/torque/changes">Torque-site</a>.
-</p>
-
-<subsection name="Changes that could break older environments">
-<p>
- <ul>
- <li>
- the coupled version of torque has been removed.
- </li>
- </ul>
-</p>
-</subsection>
-
-
-<subsection name="Other changes">
-<p>
- <ul>
- <li>
- Maven is used as build system for Turbine 2.2
- </li>
- <li>
- removed antiquated redirect logic.
- </li>
- <li>
- You can use log4j properties directly.
- </li>
- <li>
- The configuration package has been moved from stratum to commons
- </li>
- <li>
- BaseValueParser.setProperty() changed from private to protected
- </li>
- </ul>
-</p>
-</subsection>
-
-<subsection name="Fixed bugs">
-<p>
- <ul>
- <li>
- Fixed IllegalStateException when removing an attribute from an invalid
- session (patch by David Vandegrift - dvandegrift@bluearc.com)
- </li>
- <li>
- Fixed NumberFormatException in UUIdGenerator.
- </li>
- </ul>
-</p>
-</subsection>
-</section>
-
-
-<section name="Turbine 2.2b1">
-
-<p>
-Changes between Turbine 2.1 and 2.2b1.
-</p>
-
-<p>
-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>
-
-<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">
-
-<p>
- <ul>
- <li>
- 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">
-
-<p>
- <ul>
- <li>
- <b>ECS, Freemarker and Webmacro</b> services/modules are marked
- <b>deprecated</b>. You should use Velocity instead.
- </li>
- <li>
- <b>Castor</b> service is marked as <b>deprecated</b>. You should use
- om/peer classes instead!
- </li>
- <li>
- The XSLT Service is updated to use Xalan 2.0
- </li>
- <li>
- Improved datatype mappings for mysql, oracle, postgresql, sapdb
- </li>
- <li>
- adding support for DB2 on AS400 (patch by Sweaver@rippe.com).
- </li>
- <li>
- adding support for secure connections in the xmlrpc service.
- </li>
- <li>
- 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>
- Criteria.Criterion implements Serializable
- </li>
- <li>
- DB implements Serializable
- </li>
- <li>
- 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>
- added static strings for ISNULL and ISNOTNULL to Criteria.
- </li>
- <li>
- added getDateString() method to format date fields to DB.
- </li>
- <li>
- added VelocityDirectLayout/Screen to make it possible to embed
- servlet/JSP outputs into a Velocity template used within Turbine.
- (patch by raphael.luta@networks.groupvu.com)
- </li>
- <li>
- added an easy to use localization pull tool.
- </li>
- <li>
- Javadocs improvements.
- </li>
- <li>
- Documentation improvements.
- </li>
- </ul>
-</p>
-
-</subsection>
-
-
-<subsection name="Fixed bugs">
-
-<p>
- <ul>
-
- <li>
- fixed error in Mssql unique.vm template (removed a blank line)
- </li>
- <li>
- [2301] Embedding message parts in HtmlEmail throws NullPointerException.
- </li>
- <li>
- bugfix for BigDecimal attributes with default value
- </li>
- <li>
- fixed handling of sequences for db2, oracle, postgresql, sapdb
- </li>
- <li>
- fixed syntax for create index (postgresql)
- </li>
- <li>
- fixed problem for postgres with blob style column in TurbineUser table.
- (patch by Jerome Veryleyen)
- </li>
- <li>
- BaseUnicastRemoteService.java: Corrected method name (setName -> getName).
- </li>
- <li>
- fixed Roleset.add(RoleSet) (patch by lujin@yahoo.com)
- </li>
- <li>
- fixed database - defaultIdMethod (torque)
- </li>
- <li>
- fixed date formating problem with Oracle.
- </li>
- <li>
- fixed problem when ignoreCase was used with ISNULL or ISNOTNULL.
- </li>
- <li>
- fixed Option object initialisation in SelectorBox
- (patch by Kurt Grafius kurtg@jvoom.com)
- </li>
- </ul>
-</p>
-
-</subsection>
-
-</section>
+ 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>
+ </body>
</document>
1.15 +2 -3 jakarta-turbine-2/xdocs/navigation.xml
Index: navigation.xml
===================================================================
RCS file: /home/cvs/jakarta-turbine-2/xdocs/navigation.xml,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -r1.14 -r1.15
--- navigation.xml 30 Mar 2004 23:55:10 -0000 1.14
+++ navigation.xml 14 Aug 2004 14:39:56 -0000 1.15
@@ -24,10 +24,8 @@
<body>
<links>
- <item name="Turbine Home" href="http://jakarta.apache.org/turbine/"/>
+ <item name="Turbine Home" href="http://jakarta.apache.org/turbine/"/>
<item name="Fulcrum" href="http://jakarta.apache.org/turbine/fulcrum/"/>
- <item name="TDK" href="http://jakarta.apache.org/turbine/tdk/"/>
- <item name="JCS" href="http://jakarta.apache.org/turbine/jcs/"/>
</links>
<menu name="General Information">
@@ -36,6 +34,7 @@
<item name="Specification" href="/fsd.html"/>
<item name="Getting Started" href="/getting-started.html"/>
<item name="Howto Build Turbine" href="/how-to-build.html"/>
+ <item name="Changes" href="/changes-report.html"/>
</menu>
<menu name="Extensions">
<item name="Maven Plugin" href="/maven-turbine-plugin/index.html"/>
1.1 jakarta-turbine-2/xdocs/changes-pre24.xml
Index: changes-pre24.xml
===================================================================
<?xml version="1.0"?>
<!--
/*
* Copyright 2001-2004 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>2.x Changes</title>
</properties>
<body>
<p>
Latest changes are available from <a href="changes-report.html">Changes Report</a>.
</p>
<section name="Turbine 2.3">
<p>
Changes between Turbine 2.2 and 2.3.
</p>
<subsection name="Building">
<p>
<ul>
<li>
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>
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>
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 & required) rules in Intake.xml.
</li>
<li>
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>
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>
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>
The LoggingService was removed. Deprecated everything in the utils.Log class.
</li>
<li>
The TurbineResources Service was removed and replaced with commons-configuration.
</li>
<li>
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
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>
The velocity mail classes (o.a.t.util.velocity package) now throw
VelocityEmailException instead of MessagingException if a problem
occurs.
</li>
<li>
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
description on how to use and not to use this in the javadoc for
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>
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>
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>
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>
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>
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
setTempStorage(Hashtable newTempStorage) did not actually assign the new
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>
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>
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>
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>
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>
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>
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>
Backported the Scheduler service from Fulcrum. Other Scheduler
related changes include:
<ul>
<li>
The scheduler can now be enabled/disabled while Turbine is running.
</li>
<li>
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>
TurbineException is now thrown instead of Exception.
</li>
<li>
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>
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>
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>
Backported the Crypto Service from Fulcrum.
</li>
<li>
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:
store(), createAccount() and removeAccount().
</li>
<li>
added new Logging code which uses commons-logging everywhere.
</li>
<li>
added new Configuration code based on commons-configuration. Switched
all configuration requests to commons-configuration.
<ul>
<li>
Configuration values can now be stored in XML, .properties, as well as JNDI Tree.
</li>
<li>
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>
added Log4j configuration and startup.
</li>
<li>
removed all remaining Torque code.
</li>
<li>
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>
TurbineException, TurbineRuntimeException, and TurbineError all extend
the corresponding "Nestable" exception type from commons-lang.
</li>
<li>
VelocityHtmlMail can now be used in a scheduled job. It has a new constructor
accepting a velocity context object.
</li>
<li>
Intake changes:
<ul>
<li>
Backported changes from Fulcrum version
</li>
<li>
IntakeException is now thrown from intake methods instead of
TurbineException and Exception.
</li>
<li>
Multiple XML definition files can be used.
</li>
<li>
Logging has been improved to give more information when an
error occurs.
</li>
<li>
The DTD has been updated and fully documented!
</li>
<li>
Intake now uses commons-pool for pooling.
</li>
<li>
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>
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>
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>
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>
All deprecated calls to the old org.apache.turbine.util.Log have
been replaced with calls to org.apache.commons.logging.Log.
</li>
<li>
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>
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>
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>
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>
Turbine now uses commons-fileupload. The org.apache.turbine.util.upload
package has been deprecated.
</li>
<li>
The Pull Service got a new scope: authorized tools. These are like Session Tools but only
available after the user logged in.
</li>
<li>
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>
Some services got static facade classes: FactoryService, JspService, RunDataService, SchedulerService.
</li>
<li>
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>
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>
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>
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>
The TurbineDB Service has been deprecated. Use Torque and the Component Service to start Torque.
</li>
<li>
It is possible to debug pressure on the PoolService by setting services.PoolService.pool.debug to true
in the TurbineResources.properties.
</li>
<li>
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
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>
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>
ActionEvent and VelocityActionEvent can "ignore" eventSubmit_<xxx> 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>
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>
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>
TRQD10: Extending Turbine User How-to for T2.2
</li>
<li>
TTWS20: Intake can not set mapped attributes to null.
</li>
<li>
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>
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>
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>
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>
Enhancements to support Apache XML-RPC versions 1.2 alpha 1 and 2.
</li>
</ul>
</p>
</subsection>
<subsection name="Fixed bugs">
<p>
<ul>
<li>
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>
<p>
<b>The coupled version of Torque has been removed from Turbine 2.2!</b> <br/>
Get a full list of changes at the
<a href="http://jakarta.apache.org/turbine/torque/changes">Torque-site</a>.
</p>
<subsection name="Changes that could break older environments">
<p>
<ul>
<li>
the coupled version of torque has been removed.
</li>
</ul>
</p>
</subsection>
<subsection name="Other changes">
<p>
<ul>
<li>
Maven is used as build system for Turbine 2.2
</li>
<li>
removed antiquated redirect logic.
</li>
<li>
You can use log4j properties directly.
</li>
<li>
The configuration package has been moved from stratum to commons
</li>
<li>
BaseValueParser.setProperty() changed from private to protected
</li>
</ul>
</p>
</subsection>
<subsection name="Fixed bugs">
<p>
<ul>
<li>
Fixed IllegalStateException when removing an attribute from an invalid
session (patch by David Vandegrift - dvandegrift@bluearc.com)
</li>
<li>
Fixed NumberFormatException in UUIdGenerator.
</li>
</ul>
</p>
</subsection>
</section>
<section name="Turbine 2.2b1">
<p>
Changes between Turbine 2.1 and 2.2b1.
</p>
<p>
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>
<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">
<p>
<ul>
<li>
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">
<p>
<ul>
<li>
<b>ECS, Freemarker and Webmacro</b> services/modules are marked
<b>deprecated</b>. You should use Velocity instead.
</li>
<li>
<b>Castor</b> service is marked as <b>deprecated</b>. You should use
om/peer classes instead!
</li>
<li>
The XSLT Service is updated to use Xalan 2.0
</li>
<li>
Improved datatype mappings for mysql, oracle, postgresql, sapdb
</li>
<li>
adding support for DB2 on AS400 (patch by Sweaver@rippe.com).
</li>
<li>
adding support for secure connections in the xmlrpc service.
</li>
<li>
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>
Criteria.Criterion implements Serializable
</li>
<li>
DB implements Serializable
</li>
<li>
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>
added static strings for ISNULL and ISNOTNULL to Criteria.
</li>
<li>
added getDateString() method to format date fields to DB.
</li>
<li>
added VelocityDirectLayout/Screen to make it possible to embed
servlet/JSP outputs into a Velocity template used within Turbine.
(patch by raphael.luta@networks.groupvu.com)
</li>
<li>
added an easy to use localization pull tool.
</li>
<li>
Javadocs improvements.
</li>
<li>
Documentation improvements.
</li>
</ul>
</p>
</subsection>
<subsection name="Fixed bugs">
<p>
<ul>
<li>
fixed error in Mssql unique.vm template (removed a blank line)
</li>
<li>
[2301] Embedding message parts in HtmlEmail throws NullPointerException.
</li>
<li>
bugfix for BigDecimal attributes with default value
</li>
<li>
fixed handling of sequences for db2, oracle, postgresql, sapdb
</li>
<li>
fixed syntax for create index (postgresql)
</li>
<li>
fixed problem for postgres with blob style column in TurbineUser table.
(patch by Jerome Veryleyen)
</li>
<li>
BaseUnicastRemoteService.java: Corrected method name (setName -> getName).
</li>
<li>
fixed Roleset.add(RoleSet) (patch by lujin@yahoo.com)
</li>
<li>
fixed database - defaultIdMethod (torque)
</li>
<li>
fixed date formating problem with Oracle.
</li>
<li>
fixed problem when ignoreCase was used with ISNULL or ISNOTNULL.
</li>
<li>
fixed Option object initialisation in SelectorBox
(patch by Kurt Grafius kurtg@jvoom.com)
</li>
</ul>
</p>
</subsection>
</section>
</body>
</document>
---------------------------------------------------------------------
To unsubscribe, e-mail: turbine-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: turbine-dev-help@jakarta.apache.org