| <?xml version="1.0"?> |
| |
| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one |
| or more contributor license agreements. See the NOTICE file |
| distributed with this work for additional information |
| regarding copyright ownership. The ASF licenses this file |
| to you 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>Changelog</title> |
| <author email="hps@intermeta.de">Henning P. Schmiedehausen</author> |
| </properties> |
| |
| <body> |
| <release version="2.3.3" date="in SVN"> |
| <action type="fix" dev="seade"> |
| Minor correction to intake.dtd - added missing fieldClass attribute |
| to field element. |
| </action> |
| <action type="fix" dev="tv" issue="TRB-70" due-to="Susi Berrington"> |
| Fix a memory leak due to an invalid map key type. |
| </action> |
| </release> |
| <release version="2.3.3-RC1" date="2008-06-12"> |
| <action type="update" dev="hoffmann"> |
| Preparing for the Release of Turbine 2.3.3 |
| </action> |
| <action type="update" dev="seade"> |
| VelocityHtmlEmail now throws EmailException rather than |
| VelocityEmailException. This has been done for compatibility with |
| commons-email-1.1, even though commons-email-1.0 is being used for now. |
| </action> |
| <action type="update" dev="seade"> |
| Update jar dependencies:<br/> |
| <ul> |
| <li>javax.activation to 1.1.1</li> |
| <li>javax.mail to 1.4.1</li> |
| <li>commons-configuration to 1.5</li> |
| <li>commons-fileupload to 1.2.1</li> |
| <li>commons-io to 1.4</li> |
| <li>commons-logging to 1.1.1</li> |
| <li>commons-lang to 2.4</li> |
| <li>commons-pool to 1.4</li> |
| <li>log4j to 1.2.15</li> |
| <li>servletapi to 2.4</li> |
| </ul> |
| </action> |
| <action type="update" dev="tv"> |
| Further simplify the value assignment in Intake fields. |
| </action> |
| <action type="add" dev="tv"> |
| Added getBooleans() and getBooleanObjects() to the ValueParser to provide |
| a "more orthogonal" interface. |
| </action> |
| <action type="update" dev="tv"> |
| Use the localize features of the parser to simplify the value assignment |
| in Intake fields. Made handling of empty values consistent over all number |
| field types. |
| </action> |
| <action type="update" dev="tv"> |
| Important change: The BaseValueParser now consistently returns null for |
| all get-methods that return an Object, if the parameter name does not exist. |
| This changes the behaviour of getBigDecimal which used to return 0 in this |
| case. |
| </action> |
| <action type="update" dev="tv"> |
| Initialize the locale of RunData, the ParameterParser and the CookieParser |
| from the HttpServletRequest. Make RunData.setLocale propagate the locale |
| setting to the parsers. |
| </action> |
| <action type="update" dev="tv"> |
| Set the locale of the ParameterParser and the CookieParser from the default |
| locale of RunData. |
| </action> |
| <action type="add" dev="tv"> |
| Made ValueParser and BaseValueParser locale-aware. Note that the default |
| locale used is always the default value of the JVM which is different from |
| the previous behaviour where the locale used was sometimes Locale.US (for |
| float, double and BigDecimal) and sometimes the JVM-default (for dates). |
| </action> |
| <action type="update" dev="seade"> |
| Improved handling of null values for query parameter and path info values |
| in TurbineURI (avoids a NPE, logs warning message). |
| </action> |
| <action type="update" dev="tv"> |
| Update to latest release of Torque. |
| </action> |
| <action type="update" dev="seade"> |
| Update to latest release of Fulcrum Yaafi. |
| </action> |
| <action type="update" dev="seade"> |
| Eliminate cryptix dependency. The cryptix library contains strong |
| encryption algorithms causing problems using the software |
| outside of the US (ECCN). This is a partial backport from Fulcrum so |
| the real work was done by Siegfried Goeschl. |
| </action> |
| <action type="update" dev="tv"> |
| Make SecurityServices run with Torque 3.3. |
| </action> |
| <action type="update" dev="tv"> |
| Removed unnecessary locking in the XSLT service. Make relative includes |
| work again. |
| </action> |
| <action type="add" dev="seade"> |
| The init() method in LocalizationTool is no longer declared as final - |
| you can now extend this class to provide alternative ways of initializing |
| the locale. |
| </action> |
| <action type="add" dev="seade"> |
| Default ServerData values can now be specified in |
| TurbineResources.properties. |
| </action> |
| <action type="update" dev="seade"> |
| Update jar dependencies:<br/> |
| <ul> |
| <li>commons-collections to 3.2</li> |
| <li>commons-configuration to 1.4</li> |
| <li>commons-dbcp to 1.2.2</li> |
| <li>commons-digester to 1.8</li> |
| <li>commons-lang to 2.3</li> |
| <li>commons-pool to 1.3</li> |
| <li>log4j to 1.2.14</li> |
| <li>velocity to 1.5</li> |
| </ul> |
| </action> |
| <action type="fix" dev="seade"> |
| Fixed a couple of NullPointerExceptions that can occur when Intake is |
| validating multiValued fields. |
| </action> |
| <action type="fix" dev="seade"> |
| Fixed a NullPointerExceptions that can occur when Intake is used to |
| validate a primitive field. Clarified the meaning of Field.isSet() in |
| Javadoc. |
| </action> |
| <action type="add" dev="tv"> |
| Added an extension of LDAPUser named ActiveDirectoryUser to simplify the |
| authentication against AD servers. Added some documentation with a |
| configuration example. |
| </action> |
| <action type="add" dev="tv"> |
| Extended Intake to allow validators based on comparisons between fields |
| of the same group. Two example validators are provided, for date ranges |
| and for integer ranges. |
| </action> |
| <action type="add" dev="seade"> |
| Added JSON-RPC Service to support JavaScript to Java AJAX communications |
| using <a href="http://oss.metaparadigm.com/jsonrpc/">JSON-RPC-Java</a>. |
| For further details see <a href="services/jsonrpc-service.html">JSON-RPC |
| Service</a>. |
| </action> |
| <action type="add" dev="seade"> |
| Added UI Service as a replacement for the UIManager pull tool (now |
| deprecated in favor of the backwards compatible UITool). |
| For further details see <a href="services/ui-service.html">UI Service</a>. |
| </action> |
| <action type="update" dev="tv"> |
| Deprecated the DBSecurityService and its associated classes. It has been |
| replaced by the TorqueSecurityService. |
| </action> |
| <action type="remove" dev="tv"> |
| Remove the ComponentService. This has been deprecated long ago. |
| It has been replaced by the different incarnations of |
| AvalonComponentService. |
| </action> |
| <action type="remove" dev="tv"> |
| Remove long deprecated classes. |
| <ul> |
| <li>org.apache.turbine.util.SequencedHashtable</li> |
| <li>org.apache.turbine.util.StringStackBuffer</li> |
| <li>org.apache.turbine.util.FileUtils</li> |
| <li>org.apache.turbine.util.BufferCache</li> |
| <li>org.apache.turbine.util.QuickSort</li> |
| <li>org.apache.turbine.util.Comparable</li> |
| <li>org.apache.turbine.util.Log</li> |
| <li>org.apache.turbine.util.mail.*</li> |
| <li>org.apache.turbine.util.validation.*</li> |
| <li>org.apache.turbine.util.upload.*</li> |
| <li>org.apache.java.lang.*</li> |
| <li>org.apache.java.security.*</li> |
| <li>org.apache.turbine.util.db.*</li> |
| <li>org.apache.turbine.services.resources.TurbineResources</li> |
| <li>org.apache.turbine.services.db.*</li> |
| </ul> |
| </action> |
| <action type="add" dev="tv"> |
| Extended HtmlPageAttributes to allow generic <link /> tags in the |
| HTML head section. |
| </action> |
| <action type="add" dev="seade" issue="TRB-27" due-to="Thomas Vandahl"> |
| Added Thomas's variation on Siegfried's TurbineYaafiComponentService that |
| allows Fulcrum components to be used in Turbine 2.3 in a fulcrum-yaafi |
| container. |
| </action> |
| <action type="add" dev="tv"> |
| Extended the LocalizationService to provide formatting facilities. |
| </action> |
| <action type="add" dev="tv"> |
| Extended Intake to care for localization and to allow user-defined |
| field types (type "custom"). The Validator interface has been extended |
| so custom validators must be adjusted unless they extend DefaultValidator. |
| </action> |
| <action type="update" dev="seade" issue="TRB-9" due-to="Jürgen Hoffmann"> |
| Intake now handles the case where the mapToObject does not map to all |
| fields in the group. |
| </action> |
| <action type="fix" dev="seade" issue="TRB-9" due-to="Jürgen Hoffmann"> |
| Intake was not handling empty values correctly. |
| </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ürgen Hoffmann"> |
| TurbineURI was mishandling the empty String. |
| </action> |
| <action type="fix" dev="seade" issue="TRB-14" due-to="Jürgen Hoffmann"> |
| Intake was not loading the correct Default Validators when the rules for |
| a field are empty. |
| </action> |
| </release> |
| <release version="2.3.2" date="2005-10-03"> |
| <action type="fix" dev="seade"> |
| Exceptions that occur in Actions once again redirect to the error page. |
| </action> |
| </release> |
| <release version="2.3.2-rc2" date="2005-09-19"> |
| <action type="fix" dev="henning" issue="TRB-5" due-to="Thomas Vandahl"> |
| The skin properties file must be loaded as stream from the filesystem |
| and not using the getScript() method. |
| </action> |
| <action type="update" dev="henning"> |
| Make sure that the source can still be compiled and tested under JDK 1.3.1. |
| </action> |
| </release> |
| <release version="2.3.2-rc1" date="2005-09-11"> |
| <action type="fix" dev="henning" issue="TTWS67" due-to="Paul Witherow"> |
| Rewrote the DataStreamParser to actually parse CSV and TSV datastreams |
| correctly with respect to missing fields, EOL, EOF conditions and |
| quotes. Added a unit test to verify the correct operation. |
| </action> |
| <action type="update" dev="henning"> |
| XML-RPC 2.0 contains the MinML parser which is used as default. |
| Remove the code from the XML-RPC service, which references |
| xerces thus removing this implicit dependency. Another SAX |
| compliant parser can still be selected using the parser property |
| of the XML-RPC service. |
| </action> |
| <action type="fix" dev="henning" issue="TTWS62" due-to="Dan Price"> |
| Added a change to the Localization facade class which should help |
| Jetspeed 1.x with Localization. |
| </action> |
| <action type="update" dev="henning"> |
| Reworked BaseValueParser and DefaultParameterParser to be more |
| resilient against bad or missing values. Added a number of Unit tests |
| to check for these. |
| </action> |
| <action type="fix" dev="henning" issue="TTWS58" due-to="Edmund Urbani"> |
| file upload items should be listed in DefaultParameterParser.keySet(). |
| </action> |
| <action type="update" dev="henning"> |
| All serializable classes have explicit SerialVersionUID fields. |
| </action> |
| <action type="fix" dev="henning" issue="TTWS16" due-to="Oliver Eikemeier"> |
| Make sure that UIManager strips leading and trailing |
| slashes from referenced objects and configured paths. |
| </action> |
| <action type="update" dev="henning"> |
| Add a maven goal to generate SQL with Torque. Removed old SQL files |
| from src/sql. Add some documentation on how to build the SQL files. |
| </action> |
| <action type="update" dev="henning"> |
| This release will have JDK 1.4.x as primary build platform. If you intend |
| to build on an older (1.3) JDK, you must uncomment a number of dependency |
| libraries in the project.xml descriptor. |
| </action> |
| <action type="update" dev="henning"> |
| Update jar dependencies:<br/> |
| <ul> |
| <li>Framework to 4.3 (including api and impl)</li> |
| <li>Beanutils to 1.7.0</li> |
| <li>Collections to 3.1</li> |
| <li>Configuration to 1.1</li> |
| <li>Digester to 1.7</li> |
| <li>Lang to 2.1</li> |
| <li>dom4j to 1.6.1</li> |
| <li>excalibur-component to 2.1</li> |
| <li>excalibur-instrument to ...-api 2.1</li> |
| <li>excalibur-logger to 2.1</li> |
| <li>excalibur-pool to ...-api 2.1</li> |
| <li>javamail to 1.3.3</li> |
| <li>oro to 2.0.8</li> |
| <li>log4j to 1.2.11</li> |
| <li>logkit to avalon-logkit 2.1</li> |
| <li>stratum to 1.0</li> |
| <li>velocity to 1.4</li> |
| <li>village to 2.0</li> |
| <li>xalan to 2.7.0</li> |
| <li>xmlrpc to 2.0</li> |
| <li>hqldb to 1.7.3.3 (testing)</li> |
| </ul> |
| </action> |
| <action type="update" dev="henning"> |
| Get rid of direct File() access in TurbineXSLTService and replace it with URL |
| access through the servlet container. The change also allows to place the |
| repository of XSL files elsewhere. |
| Replace the cache Map() with a LRUMap() to avoid infinite memory growth. |
| Add transform() methods having an additional parameter to forward a parameter |
| set to the XSLT. The parameters can be used in the style sheet. |
| Patches contributed by Thomas Vandahl. |
| </action> |
| <action type="update" dev="henning"> |
| Change UIManager to allow customization of directories and default values. |
| Get rid of File() in UIManager. |
| Allow UIManager to return relative links if configured. |
| Patches contributed by Thomas Vandahl. |
| </action> |
| <action type="update" dev="henning"> |
| Bump javamail to version 1.3.2<br/> |
| Build with commons-email 1.0-RC6. |
| </action> |
| <action type="fix" dev="henning"> |
| Fix the build process bug that let some of the reports end up in wrong directories. |
| </action> |
| <action type="update" dev="henning"> |
| Make the default encoding for incoming requests configurable. This allows you to post |
| forms from UTF-8 or other encodings into Turbine. |
| </action> |
| <action type="update" dev="seade"> |
| Update DateFormatter to use DateFormatUtils from commons lang. |
| </action> |
| <action type="update" dev="seade"> |
| commons-codec was upgraded to 1.3. |
| </action> |
| <action type="update" dev="henning"> |
| Fix the Intake DateString validator not to throw an NPE whenever a |
| slightest mistake was done in configuring a date field. Make sure |
| that even fields without a formatting rule will parse at least standard |
| date formats. |
| </action> |
| <action type="update" dev="henning"> |
| Intake FileItemFields could not be used when calling IntakeGroup.setProperties(obj) because |
| the field did not look into the right table for retrieving the value object. |
| </action> |
| <action type="update" dev="seade"> |
| The velocity page formatting macros have been updated to generate xhtml |
| compatible html. |
| </action> |
| </release> |
| |
| <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. |
| </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? |
| </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://commons.apache.org/logging/apidocs/org/apache/commons/logging/package-summary.html">commons |
| logging documentation</a> |
| </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(). |
| </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 " escaped as |
| &quot; to provide valid values for HTML form inputs. |
| </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. |
| </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. |
| </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). |
| </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). |
| </action> |
| <action type="update"> |
| 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). |
| </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 |
| 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 type="update"> |
| Fixed the intake DateString flexible rule so that it applies to the |
| format rules and not just to the default locale format. |
| </action> |
| <action type="update"> |
| DateFormatter now allows for a different date format to be provided |
| via <em>tool.dateTool.format</em> in TurbineResources.properties. |
| </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. |
| </action> |
| <action type="update"> |
| Upgraded to commons-pool-1.1 |
| </action> |
| <action type="update"> |
| HttpUtils.httpDateFormat had the year set as 'yyyyy', should be 'yyyy' therefore |
| setting expiry dates failed. |
| </action> |
| <action type="update"> |
| TTWS60: HtmlPageAttributes setBackground sets the incorrect key name. |
| </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. |
| </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. |
| </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 & required) rules in Intake.xml. |
| </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. |
| </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. |
| </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! |
| </action> |
| <action type="update"> |
| The LoggingService was removed. Deprecated everything in the utils.Log class. |
| </action> |
| <action type="update"> |
| The TurbineResources Service was removed and replaced with commons-configuration. |
| </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. |
| </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(). |
| </action> |
| <action type="update"> |
| The velocity mail classes (o.a.t.util.velocity package) now throw |
| VelocityEmailException instead of MessagingException if a problem |
| occurs. |
| </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 |
| 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. |
| </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 |
| </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. |
| </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. |
| </action> |
| <action type="update"> |
| Added a Howto describing using Hibernate with Turbine. The actual code is |
| currently not part of the Turbine distribution due to licensing issues, but is very |
| easy to implement due to Turbine support of Avalon Components. |
| </action> |
| <action type="update"> |
| Changed TurbineUser so that when either permanent 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. |
| </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. |
| </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. |
| </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. |
| </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. |
| </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. |
| </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. |
| </action> |
| <action type="update"> |
| Backported the Scheduler service from Fulcrum. Other Scheduler |
| related changes include: |
| <action type="update"> |
| The scheduler can now be enabled/disabled while Turbine is running. |
| </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. |
| </action> |
| <action type="update"> |
| TurbineException is now thrown instead of Exception. |
| </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 |
| </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). |
| </action> |
| <action type="update"> |
| A new facade class has been created for easier access to the Scheduler Service. |
| It is org.apache.turbine.services.schedule.TurbineScheduler. |
| </action> |
| </action> |
| <action type="update"> |
| Backported the Crypto Service from Fulcrum. |
| </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>. |
| </action> |
| <action type="update" issue="TTWS34"> |
| Implemented the following functions in LDAPUserManager: |
| store(), createAccount() and removeAccount(). |
| </action> |
| <action type="update"> |
| added new Logging code which uses commons-logging everywhere. |
| </action> |
| <action type="update"> |
| added new Configuration code based on commons-configuration. Switched |
| all configuration requests to commons-configuration. |
| <action type="update"> |
| Configuration values can now be stored in XML, .properties, as well as JNDI Tree. |
| </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. |
| </action> |
| </action> |
| <action type="update"> |
| added Log4j configuration and startup. |
| </action> |
| <action type="update"> |
| removed all remaining Torque code. |
| </action> |
| <action type="update"> |
| VelocityLayout is now the proposed default layout. |
| VelocityECSLayout might go away post-2.3. |
| See <a href="http://wiki.apache.org/turbine/Turbine2/VelocityOnlyLayout"> |
| Moving to VelocityOnlyLayout</a> to see what changes need to be made to your |
| application(s). |
| </action> |
| <action type="update"> |
| TurbineException, TurbineRuntimeException, and TurbineError all extend |
| the corresponding "Nestable" exception type from commons-lang. |
| </action> |
| <action type="update"> |
| VelocityHtmlMail can now be used in a scheduled job. It has a new constructor |
| accepting a velocity context object. |
| </action> |
| <action type="update"> |
| Intake changes: |
| <action type="update"> |
| Backported changes from Fulcrum version |
| </action> |
| <action type="update"> |
| IntakeException is now thrown from intake methods instead of |
| TurbineException and Exception. |
| </action> |
| <action type="update"> |
| Multiple XML definition files can be used. |
| </action> |
| <action type="update"> |
| Logging has been improved to give more information when an |
| error occurs. |
| </action> |
| <action type="update"> |
| The DTD has been updated and fully documented! |
| </action> |
| <action type="update"> |
| Intake now uses commons-pool for pooling. |
| </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. |
| </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. |
| </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). |
| </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. |
| </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. |
| </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. |
| </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. |
| </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. |
| </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. |
| </action> |
| <action type="update"> |
| Turbine now uses commons-fileupload. The org.apache.turbine.util.upload |
| package has been deprecated. |
| </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. |
| </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. |
| </action> |
| <action type="update"> |
| Some services got static facade classes: FactoryService, JspService, RunDataService, SchedulerService. |
| </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. |
| </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. |
| </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. |
| </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. |
| </action> |
| <action type="update"> |
| The TurbineDB Service has been deprecated. Use Torque and the Component Service to start Torque. |
| </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. |
| </action> |
| <action type="update"> |
| Turbine now has some integration for Avalon Components. It can start |
| Avalon based components with the new AvalonComponentService. |
| </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. |
| </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. |
| </action> |
| <action type="update"> |
| 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). |
| </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. |
| </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. |
| </action> |
| <action type="update" issue="TTWS25"> |
| Removed deprecated call to TurbineDB. |
| </action> |
| <action type="update"> |
| TRQD10: Extending Turbine User How-to for T2.2 |
| </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. |
| </action> |
| <action type="update"> |
| Fixed null pointer exception during initialization of IntakeTool when there are |
| no groups defined in intake.xml |
| </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. |
| </action> |
| <action type="update"> |
| The pull service now really refreshes non-request tool every time a tool is requested. |
| </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. |
| </action> |
| |
| <action type="update"> |
| TRQD2: Update to intake-howto to mention remove() |
| </action> |
| </release> |
| |
| <release version="Turbine 2.2-b2"> |
| |
| <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://db.apache.org/torque/changes-report.html">Torque-site</a>. |
| </action> |
| |
| <action type="update"> |
| the coupled version of torque has been removed. |
| </action> |
| |
| <action type="update"> |
| Maven is used as build system for Turbine 2.2 |
| </action> |
| <action type="update"> |
| removed antiquated redirect logic. |
| </action> |
| <action type="update"> |
| You can use log4j properties directly. |
| </action> |
| <action type="update"> |
| The configuration package has been moved from stratum to commons |
| </action> |
| <action type="update"> |
| BaseValueParser.setProperty() changed from private to protected |
| </action> |
| |
| <action type="update"> |
| Fixed IllegalStateException when removing an attribute from an invalid |
| session (patch by David Vandegrift - dvandegrift@bluearc.com) |
| </action> |
| <action type="update"> |
| Fixed NumberFormatException in UUIdGenerator. |
| </action> |
| </release> |
| |
| |
| <release version="Turbine 2.2b1"> |
| |
| <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)<br/> |
| |
| If you wrote your own services you should also change them to be Fulcrum |
| services to make them work with Turbine 3.x<br/> |
| </action> |
| |
| <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. |
| </action> |
| |
| <action type="update"> |
| <b>ECS, Freemarker and Webmacro</b> services/modules are marked |
| <b>deprecated</b>. You should use Velocity instead. |
| </action> |
| <action type="update"> |
| <b>Castor</b> service is marked as <b>deprecated</b>. You should use |
| om/peer classes instead! |
| </action> |
| <action type="update"> |
| The XSLT Service is updated to use Xalan 2.0 |
| </action> |
| <action type="update"> |
| Improved datatype mappings for mysql, oracle, postgresql, sapdb |
| </action> |
| <action type="update"> |
| adding support for DB2 on AS400 (patch by Sweaver@rippe.com). |
| </action> |
| <action type="update"> |
| adding support for secure connections in the xmlrpc service. |
| </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. |
| </action> |
| <action type="update"> |
| Criteria.Criterion implements Serializable |
| </action> |
| <action type="update"> |
| DB implements Serializable |
| </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 |
| </action> |
| <action type="update"> |
| added static strings for ISNULL and ISNOTNULL to Criteria. |
| </action> |
| <action type="update"> |
| added getDateString() method to format date fields to DB. |
| </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 raphael.luta@networks.groupvu.com) |
| </action> |
| <action type="update"> |
| added an easy to use localization pull tool. |
| </action> |
| <action type="update"> |
| Javadocs improvements. |
| </action> |
| <action type="update"> |
| Documentation improvements. |
| </action> |
| |
| <action type="update"> |
| fixed error in Mssql unique.vm template (removed a blank line) |
| </action> |
| <action type="update"> |
| [2301] Embedding message parts in HtmlEmail throws NullPointerException. |
| </action> |
| <action type="update"> |
| bugfix for BigDecimal attributes with default value |
| </action> |
| <action type="update"> |
| fixed handling of sequences for db2, oracle, postgresql, sapdb |
| </action> |
| <action type="update"> |
| fixed syntax for create index (postgresql) |
| </action> |
| <action type="update"> |
| fixed problem for postgres with blob style column in TurbineUser table. |
| (patch by Jerome Veryleyen) |
| </action> |
| <action type="update"> |
| BaseUnicastRemoteService.java: Corrected method name (setName -> getName). |
| </action> |
| <action type="update"> |
| fixed Roleset.add(RoleSet) (patch by lujin@yahoo.com) |
| </action> |
| <action type="update"> |
| fixed database - defaultIdMethod (torque) |
| </action> |
| <action type="update"> |
| fixed date formating problem with Oracle. |
| </action> |
| <action type="update"> |
| fixed problem when ignoreCase was used with ISNULL or ISNOTNULL. |
| </action> |
| <action type="update"> |
| fixed Option object initialisation in SelectorBox |
| (patch by Kurt Grafius kurtg@jvoom.com) |
| </action> |
| </release> |
| |
| </body> |
| </document> |