History of Changes
Introduction and explanation of symbols
Changes are sorted chronologically with the most recent at the top. These symbols denote the various action types:
=add,
=fix,
=remove,
=update
Version 2.1.12 (TBD)
-
Fix javadoc in PropertySettings. RunningMode is not supported in 2.1.x
Committed by RG. See Issue COCOON-2064. -
Core: XMLByteStreamCompiler hard-coded limits of 0xffff Strings prevents large XML documents
from being handled in Cocoon.
Committed by AG. See Issue COCOON-2158.
Contributors to this release
We thank the following people for their contributions to this release.
This is a list of all people who participated as committers:
Antonio Gallardo (AG), Ralph Goers (RG).
Version 2.1.11 (December 31 2007)
-
Created XPathXMLFileModule to address issus with XMLFileModule. XPathXMLFileModule supports variable
replacement and caching of documents in ehcache and expressions as soft references.
Committed by RG. See Issue COCOON-1574. -
Forms: Allow Ajax submission of forms with empty upload field.
Committed by AG. Thanks to Robin Wyles. See Issue COCOON-2052. -
Portal: New SiteProfileManager providing the same profile to several users based on a configured key.
Committed by CZ. -
Portal: Some memory consumption improvements for the user profiles.
Committed by CZ. -
Core: Update xalan to 2.7.1.
Committed by AG. -
Sitemap: Redirect to cocoon:/foo did not work in sub-sitemap when it is in same directory as the root sitemap.
Committed by AN. Thanks to Robert Hoffmann. See Issue COCOON-1990. -
Core: Update xercesImpl to 2.9.1.
Committed by AG. -
Event Cache Block: Restore serializability of persistent cache when using event-aware cache.
Committed by JH. Thanks to Ellis Pritchard. See Issue COCOON-2146. -
Mail Block: Fix setting of URL message body.
Committed by VG. Thanks to Robin Wyles. See Issue COCOON-2129. -
<map:serialize status-code="{}"/> supports variable resolution.
Committed by JH. Thanks to Jochen Seifarth. See Issue COCOON-1354. -
XMLDB Block: Fix collection URLs in XMLDBSource. Fixes URL resolution and 'Mount DB' sample.
Committed by VG. -
XMLDB Block: Update Xindice to 1.1 release.
Committed by VG. -
POI Block: Color string normalization.
Committed by AG. Thanks to Krystian Nowak. See Issue COCOON-1440. -
build.sh: Allow for quoted shell arguments containing spaces.
Committed by AN. Thanks to Andreas Deininger. See Issue COCOON-2098. -
CForms: Handling of empty responses in AJAX Forms with IFrame transport.
Committed by AG. Thanks to Jan Oberst. See Issue COCOON-2027. -
Ajax: ajax/common.js makes use of deprecated dojo.animation.Timer
Committed by AG. Thanks to Alexander Klimetschek. See Issue COCOON-2059. -
XSP block: Upgrade Eclipse compiler to version 3.1.0 to allow the use of Java5 syntax in XSPs.
(Latest released Eclipse version is 3.2.2 but use 3.1.0 to be consistent with the version
picked up by the Maven build in trunk).
Committed by AN. -
Core, QDox: Fixed getInputStream() in XModuleSource and QDoxSource:
Set up XMLSerializer in a component way, i.e. retrieve it from ServiceManager.
Committed by JH. Thanks to Ellis Pritchard. See Issue COCOON-2077. -
Dojo toolkit upgraded to 0.4.3 version. It contains fix for security bug. See http://dojotoolkit.org/releaseNotes/0.4.3.
Committed by GK. Thanks to Alexander Klimetschek. See Issue COCOON-2073. -
I18n (ParamSaxBuffer): when substitution params like {0} are split over multiple character
events, do not write out extra garbage characters.
Committed by JJ. Thanks to Gunnar Brand. See Issue COCOON-1315. -
Portal: Marked PreparePortalAction, CopletSetDataAction, and ObjectModelAction ThreadSafe
Committed by RG. -
Core: Update log4j to 1.2.14, commons-io to 1.3.1, commons-lang to 2.3 and jakarta-regexp to 1.5.
Committed by AG. -
CForms: MultivalueEditorWithSuggestion doesn't add values to the listbox on Internet Explorer.
Committed by AG. Thanks to Larry Ruiz. See Issue COCOON-2023. -
CForms: Submit widget now inherits validate attribute value from the
ancestor widget, if it is specified.
Committed by VG. -
Serializers block: Correctly handle content of script and style tag as cdata for html.
Committed by CZ. -
CForms: MultivalueEditorWithSuggestion, extended multivalueeditor widget with suggestion list.
Committed by AG. Thanks to Larry Ruiz. See Issue COCOON-2013. -
CForms: CFormsSuggest widget does not implement the onValueChanged event.
Committed by AG. Thanks to Paul Friedman. See Issue COCOON-2011. -
Core: EHCache now uses the configured cache directory instead of using the default of java.io.tempdir.
Committed by CZ. Thanks to Richard Frovarp. See Issue COCOON-1927. -
Core: Update ehcache to 1.2.3.
Committed by CZ. -
Template block: Add missing toString implementation to TemplateObjectModelHelper.ParametersMap.
Committed by CZ. Thanks to Mark Lundquist. See Issue COCOON-1984. -
Portal block: CocoonPortlet needs to allow overriding servlet-path parameter with preferences.
Committed by CZ. Thanks to Woonsan Ko. See Issue COCOON-1998. -
CForms: Fix "Serialization parameter {indent} must have the value yes or no" error
in Form.prototype.saveXML() when using Saxon.
Committed by JJ. Thanks to Abbas Mousavi. See Issue COCOON-2000. -
Core: Exipres caching pipeline can now cache the content forever (by setting cache-expires
to a negative value).
Committed by CZ. -
Core: In store janitor, add an option to cleanup all stores on each janitor
run. Default behavior is to cleanup one store at a time.
Committed by VG. -
Core: Fix deadlock in caching pipeline when used in combination with include transformer.
Committed by AN. Thanks to Ellis Pritchard. See Issue COCOON-1985. -
CForms: introduce a new dojo-based popup-picker for dates, times and datetimes.
For correct localization, supply a "dojo-locale" parameter to the forms styling XSLT (see samples).
Committed by BRD. -
CForms: add support for a "timeStyle" attribute on the formatting date convertor, so
that the time style can (optionally) be specified independently from the date style.
Committed by BRD. -
Portal block: Fix truncation of included portlets in html include serializer.
Committed by CZ. -
Auth block: Fix checking of double logins for the same security handler.
Committed by CZ. -
HSQLDB block: Fix startup problems with newer HSQLDB versions and upgrade to 1.8.0.7.
Committed by CZ. Thanks to Rob Berens. See Issue COCOON-1979. -
Core: Check for reloading of javascript files loaded by cocoon.load().
Committed by CZ. Thanks to Rob Berens. See Issue COCOON-1979. -
Forms block: Add method to create binding from DOM tree.
Committed by JH. Thanks to Robin Wyles. See Issue COCOON-1471. -
Core: Fix threading issue with internal cache in ResourceReader.
Committed by JH. Thanks to Ellis Pritchard. See Issue COCOON-1977. -
POI Block: Prevent NPE in ElementProcessorSerializer on characters before first startElement.
Committed by JH. Thanks to Rob Berens. See Issue COCOON-1976. -
Updating Dojo to 0.4.1.
- use namespaces for loading widgets
- cleanup of client-side libraries into cocoon.forms.common
- deprecation and replacement of functions in forms_lib.js cocoon.js CFormsForm.js
- all cforms forms now use a dojo widget (forms:SimpleForm or forms:AjaxForm)
-
Portal Block: Applied and improved patch for reloading bookmarks based on their (file) validity.
Committed by CZ. Thanks to Vincent Demay. See Issue COCOON-1776. -
Portal Block: Fix handling of missing special parameters for forms in NewEventLinkTransformer.
Committed by CZ. -
Auth Block: Make isUserInRole a static method.
Committed by CZ. -
Fixes to forms and ajax samples.
Committed by JQ.
Contributors to this release
We thank the following people for their contributions to this release.
This is a list of all people who participated as committers:
Antonio Gallardo (AG), Alfred Nathaniel (AN), Bruno Dumon (BRD), Carsten Ziegeler (CZ), Grzegorz Kossakowski (GK), Jörg Heinicke (JH), Jason Johnston (JJ), Jeremy Quinn (JQ), Ralph Goers (RG), Vadim Gritsenko (VG).
This is a list of other contributors:
Abbas Mousavi, Alexander Klimetschek, Andreas Deininger, Ellis Pritchard, Gunnar Brand, Jan Oberst, Jochen Seifarth, Krystian Nowak, Larry Ruiz, Mark Lundquist, Paul Friedman, Richard Frovarp, Rob Berens, Robert Hoffmann, Robin Wyles, Vincent Demay, Woonsan Ko.
Version 2.1.10 (December 21 2006)
-
Core: Allow dynamic loading of JavaScript objects even when scope is locked.
Committed by JH. Thanks to Rob Berens. See Issue COCOON-1811. -
CForms: Always set viewData for flow script functions (if it's not available set it to null).
Committed by CZ. Thanks to Rob Berens. See Issue COCOON-1916. -
Javaflow OJB Sample: Fix "No method 'showEmployee' found".
Committed by CZ. Thanks to Jeroen Reijn. See Issue COCOON-1969. -
The JavaFlow OJB sample overwrote the first entry on insert instead of adding a new entry.
This has been fixed.
Committed by CZ. Thanks to Jeroen Reijn. See Issue COCOON-1970. -
Core: Removed the buggy WildcardHelper. Use the new improved WildcardMatcherHelper.
Committed by CZ. -
Profiler block: Add statistics component.
Committed by CZ. -
Databases block: Add support for iBatis to use configured Excalibur data sources in iBatis.
Committed by CZ. -
CForms: The filterfield widget was not defined for the forms manager.
Committed by AS. Thanks to Jeroen Reijn. See Issue COCOON-1965. -
CForms: Numeric based suggestion list should initialzate to the corresponding suggested text.
Committed by AG. Thanks to Carlos Chávez. See Issue COCOON-1962. -
Updated Rhino (Javascript engine) to version 1.6R5.
This version is licensed under MPL, while previous versions were licensed under NPL,
which was a problem since software licensed under NPL cannot be included in Apache products.
The new version should be compatible with the previous version, though it does
not support the constructs "catch (continue|break|return)" which were available
in Cocoon's Rhino fork.
Committed by BRD. -
Updated xercesImpl to 2.9.0 and xml-apis to 1.3.04.
Committed by AG. -
Ajax: upload progress bar widget.
- A new dojo widget to display file upload progress for forms (and cforms).
- Ajax-enabled cforms can now submit file-upload fields in the background.
- New system pipelines for Blocks (/_cocoon/system/[blockname]/**).
- Sitemaps can now call flowscripts written in a static namespaced style.
- Added JSON Serialization utilities for flowscript.
- You can now get i18n translations from Stings in flowscript.
-
Core: Add ability to pre-load i18n catalogues in I18nTransformer.
Removed references to defunct cache-on-startup configuration.
Committed by VG. -
CForms: Added @whitespace attribute to fd:field widget, to control how leading
and trailing whitespace characters are handled when reading submitted values.
Accepted values are: "trim" (default), "trim-start", "trim-end", and "preserve".
Committed by JJ. See Issue COCOON-1879. -
Mail: Improve MailSender interface: added setBody(Object), setBodyURL
methods, deprecated setCharset, setBody(String), setBodyFromSrc,
setBodyFromSrcMimeType methods. Support byte[], InputStream as body and
attachment objects.
Committed by VG. -
Mail: Log exceptions from mail attachments - JavaMail does not preserve
cause exception.
Committed by VG. -
Lucene: Add analyzer parameter to SearchGenerator
as stated by the docs.
Committed by JH. Thanks to Jeroen Reijn. See Issue COCOON-1936. -
Databases: Added support for the SQL:XML tag in SQLTransformer.
Committed by AG. Thanks to Geurt Wisselink. See Issue COCOON-1894. -
Validation: Replaced references to constant declarations in
javax.xml.XMLConstants, which are not in the official API.
Committed by JH. See Issue COCOON-1878. -
CForms: Tree widget not handling on-selection-change events correctly.
Committed by AG. Thanks to Suzan Foster. See Issue COCOON-1692. -
XSP: SOAPHelper does no longer accept only replies with an XML declaration.
Committed by JH. Thanks to Fabian Linz. See Issue COCOON-1883. -
Updated commons-lang to 2.2 and bsf to 2.4.0.
Committed by AG. -
CForms: Add a name attribute to a booleanfield in output mode to
make it easily accessible in JavaScript.
Committed by JH. Thanks to Gabriele Columbro. See Issue COCOON-1900. -
CForms: BeanConvertor uses a WeakHashMap in the wrong way.
Committed by AG. Thanks to Gabriele Columbro. See Issue COCOON-1867. -
AJAX: Fix cocoon suggest sample.
Committed by AG. Thanks to Christofer Dutz. -
Deprecate method org.apache.cocoon.components.flow.FlowHelper.unwrap(Object).
This method will be removed in 2.2 release. Use org.apache.cocoon.components.flow.util.PipelineUtil.unwrap(Object) instead.
Committed by AG. -
XSP: Use namespace-uri and not the namespace-prefix to select parameters
in logicsheet-util.xsl.
Committed by JH. See Issue COCOON-1196. -
Databases: Check for null LOBs.
Committed by VG. See Issue COCOON-1462. -
JXTemplate: Fix an ArrrayIndexOutOfBoundsException with jx:comment.
Committed by JH. Thanks to Ellis Pritchard. See Issue COCOON-1866. -
Apply patch to handle malformed recipient address exception correctly.
Committed by AS. Thanks to Jasha Joachimsthal. See Issue COCOON-1818. -
CForms: Apply patch to disambiguate toSAX method call.
Committed by VG. Thanks to Lars Trieloff. See Issue COCOON-1906. -
Core: Move BackgroundEnvironment from Cron block into the Core.
Committed by VG. -
Core: i18n transformer was loosing whitespaces in i18n:text, i18n:translate,
i18n:param elements if they had mixed content.
Committed by VG. -
CForms: In AbstractWidgetDefinitionBuilder, methods "setValidators",
"setCreateListeners", and "setCommonProperties" now have visibility "protected"
instead of "private"
Committed by JBQ. Thanks to Guillaume Déflache. See Issue COCOON-1919. -
Core: Rewrite of WildcardMatcherHelper where the heavy-lifting is left to the regexp library.
That fixes a false positive where "menu/foo/bar.xml" was matched by "menu/*.xml" in the old
implementation. The new code also removes the over-greedyness of '**' that "**/*/*" can now
be matched successfully.
Committed by AN. -
Updated xercesImpl to 2.8.1.
Committed by AG. -
CForms: FormManager now caches form definitions created from Source or URI.
Committed by VG. -
Core: Off-by-1 bug in WildcardMatcher found pattern matches which were not there.
Committed by AN. -
Core: '**' in complex WildcardMatcher pattern did not match an empty pathstep.
Committed by AN. -
XSP block: Using document('') in logicsheet caused NPE.
Committed by AN. -
CForms: Repeater identity binding was failing on save if widget path was
given.
Committed by VG. -
CForms: Inherit fb:on-delete-row, fb:on-insert-row, fb:identity repeater
bindings from the parent. Fix detection of 'simple' mode.
Committed by VG. -
ZipArchiveSerializer: Set time stamp of ZIP entries to last modification
time of source file.
Committed by AN. -
Updated ehcache to 1.2.2.
Committed by AG. -
XSP block: Add example for on-the-fly generation of ZIP file.
Committed by AN. -
XSP block: Suppress xmlns:xsp namespace declaration on XSP generated root element.
Committed by AN. -
Repository: Add CachingSource source implementation (from trunk).
Committed by VG. -
ImageOp: Send info/debug messages to the log rather than System.out.println
Committed by JJ. -
Core: CopySourceAction generate NPE.
Committed by AG. Thanks to Frédéric Glorieux. See Issue COCOON-1815. -
CForms: Removed debug logging left in AggregateFieldDefinitionBuilder.java.
Committed by AG. Thanks to Mark Lundquist. See Issue COCOON-1849. -
CForms: Reverting incompatible change introduced in version 2.1.9. When binding a widget with value null, XML
elements are no more deleted. The behaviour is now the same as in version 2.1.8.
Committed by MPO. See Issue COCOON-1687. -
CForms: Tiny typo in JavaScriptJXPathBinding.
Committed by AG. Thanks to Jeroen Goubert. See Issue COCOON-1889. -
CForms: HTMLArea unable to set target and title to a "link".
Committed by AG. Thanks to Jeroen Reijn. See Issue COCOON-1678. -
CForms: Form locale never used in JXMacros.
Committed by AG. Thanks to Carlos Chávez. See Issue COCOON-1758. -
Core: EHDefaultStore returns in the size() method the wrong number of keys.
Committed by AG. Thanks to Ard Schrijvers. See Issue COCOON-1885. -
CForms block: JavaClassValidatorBuilder supports Configurable validator implementations. New AbstractJavaValidator
implementation supports generation of customized fail messages.
Committed by CZ. -
Core: ZipArchiveSerializer causes "Too many open files" exception.
Committed by AG. Thanks to Holger Wahlen. See Issue COCOON-1882. -
Browser selector should have Opera before MSIE.
Committed by AG. Thanks to Andrew Stevens. See Issue COCOON-1854. -
Lucene Block: Allow LuceneIndexTransformer to index large documents (with more than 10k terms).
Committed by AG. Thanks to Conal Tuohy. See Issue COCOON-1880. -
XML-DB Block: XMLDBTransformer blows up Saxon.
Committed by AG. Thanks to Don Grodecki. See Issue COCOON-1876. -
Switched to the new WildcardMatcherHelper for all wildcard matching which is a rewrite
of the WildcardHelper.
Committed by GP. -
Updated quartz to 1.5.2.
Committed by AG. -
EHDefaultStore: Allow users to configure disk-persistent parameter. In earlier cocoon
versions this ehcache parameter was always true. It defines whether or not the disk
store persists between restarts of the Virtual Machine. The default value is true.
Committed by AG. Thanks to Ard Schrijvers. -
The predefined variables "parameters" and "cocoon.parameters" now both point to the
parameters object in JXTemplateGenerator and the template block. (cocoon.parameters did
point to a properties object).
Committed by CZ. -
HSQLDB Block: Workaround for HSQLDB improper shutdown in SAP NetWeaver.
Committed by AG. Thanks to Igor Naumov. See Issue COCOON-1862. -
CForms Block: RepeaterJXPathBinding - order of row is inverted.
Committed by AG. Thanks to Dennis Dam. See Issue COCOON-1864. -
Naming Block: Check for Null URI in LDAPTransformer.
Committed by AG. Thanks to Igor Naumov. See Issue COCOON-1861. -
Add the CoWarp contribution by Carsten Ziegeler from the Osoco open source project (http://osoco.sourceforge.net/cowarp/).
Committed by CZ. -
Deprecate session-fw and authentication-fw block. These blocks will be removed in further releases.
Committed by CZ. -
Databases: Read CLOBs using getCharacterStream, delegate character decoding
to the database. Revert to old behavior if clob-encoding parameter is present.
Committed by VG. -
Portal Block: Add support for input modules in start uri for application coplet.
Committed by CZ. -
Databases: Support multiple results in SQLTransformer.
Committed by VG. See Issue COCOON-1247. -
Databases: Fix NPE in SQLTransformer in error handling code.
Committed by VG. See Issue COCOON-1552. -
Databases: Support CLOBs in SQLTransformer when returned as stored procedure
parameters, or as columns in a cursor returned by stored procedure.
Committed by VG. -
Databases: Fix reading of the CLOBs in SQLTransformer.
Committed by VG. -
CForms Block: Add multiple repeater drag & drop dojo sample.
Committed by AG. Thanks to Carlos Chávez & Eric Meyer. -
Set instrumentation manager on child component managers to enable
instrumentation of all components including sitemap components.
Committed by CZ. Thanks to Brian Vargas. See Issue COCOON-1857. -
Updated dojo to 20060614.
Committed by AG. -
Fix bug in wildcard matcher where a uri containing a pattern twice did not always match. For example,
the uri "hallo.xml.xml" did not match "*.xml".
Committed by CZ. -
CForms: Using setRequired in Ajax mode does not generate bu:replace.
Committed by AG. Thanks to Vincent Demay. See Issue COCOON-1848. -
AJAX Block: Error popup window not resizable/scrollable.
Committed by AG. Thanks to Guillaume Déflache. See Issue COCOON-1847. -
CForms: Load and save model phase events are now send.
Committed by CZ. -
CForms: Output widget does not initialize from <fd:initial-value>.
Committed by AG. Thanks to Freek Segers. See Issue COCOON-1741. -
Template block: NullPointerException.
Committed by AG. Thanks to Tim Williams. See Issue COCOON-1744. -
XIncludeTransformer: XInclude transformer does not handle fallback correctly.
Committed by AG. Thanks to Jason Johnston. See Issue COCOON-1489. -
ResourceReader fails to add HTTP headers.
Committed by AG. Thanks to Martin Kuck. See Issue COCOON-1266. -
XMLFileModule: file-specific configuration ignored.
Committed by AG. Thanks to Guillaume Déflache. See Issue COCOON-1840. -
HTTPRequest: Redundant copying between container and form encoding.
Committed by AG. Thanks to Aleksander Bandelj. See Issue COCOON-1625. -
Error decommissioning component: org.apache.cocoon.components.store.impl.EHDefaultStore.
Committed by AG. Thanks to Pier Fumagalli. See Issue COCOON-1694. -
exception2html.xslt: <script /> causes IE display problem.
Committed by AG. Thanks to Eric Meyer. See Issue COCOON-1839. -
Tour block: SVG samples now use the correct SVG 1.1 namespace.
Committed by BD. -
RequestGenerator: Add remoteUser() information.
Committed by AG. Thanks to Andrew Stevens. See Issue COCOON-1515. -
XIncludeTransformer: xi:fallback fail when use parse="text".
Committed by AG. See Issue COCOON-1110. -
XInclude transformer uses href fragment rather than xpointer attribute (spec conformance).
The XInclude 1.0 spec (see http://www.w3.org/TR/xinclude/#include_element) states the following
about the href attribute:
'Fragment identifiers must not be used; their appearance is a fatal error.'
Cocoon's XIncludeTransformer incorrectly allows xpointer fragments to be specified using a fragment identifier in the href attribute. The correct way to support xpointers is the 'xpointer' attribute on xi:include, which the transformer does not currently recognize. Committed by AG. Thanks to Jason Johnston. See Issue COCOON-1753. -
Cocoon htmlunit testcases are now compatible with htmlunit 1.8.
Committed by AG. -
Updated xmlunit to 1.0 and junit to 3.8.2.
Committed by AG. -
Added calculated fields implementation.
Committed by SG. -
Updated XReporter expressions to latest version (see http://issues.cocoondev.org/browse/XRP-113 ).
Committed by SG. -
CForms: Java event listeners can now implement Configurable, LogEnabled, and Contextualizable.
Committed by CZ. -
CForms: added a Repeater.moveRow2(from, to) method, which in contrast to the
Repeater.moveRow method inserts the row at the exact to-index specified.
Committed by BRD. -
FOP block depends on XSP block (for samples)
Committed by BD. Thanks to Vince. -
Portal: PageLabels can now be configured to be part of the url.
Committed by RG. -
Made the pool-max values in the html block's generators externally configurable. Made sitemap
reloading externally configurable. Made pipeline amd encodeURLTransformer pool-max values
externally configurable.
Committed by RG. -
CForms/Ajax: when the Ajax-update contained an empty textarea, IE failed to parse this correctly,
displaying '</span></div>' in the textarea. Fixed by adding an explicit closing tag for
textareas.
Committed by BRD. -
CForms: widgets in unions lost their value when switching between union cases.
Committed by BRD. -
Updated axis to 1.4 and commons-collections to 3.2.
Committed by AG. -
Added a lightweight FOM_SimpleCocoon class, and placed it in the javascript scope when there isn't
already a scope defined. This way, even when using javaflow, you have access to the cocoon
object (with request etc..) from javascript snippets in definition.
Committed by SG. See Issue COCOON-1804. -
Added CSS classes in cocoon forms default XSLs.
Committed by SG. See Issue COCOON-1782. -
Updated ehcache to 1.2.
Committed by AG. -
The JDK 1.4 version of the EncodeURLTransformer did not work properly as it was not matching just the
beginning of the string as the Jakarta-regexp version does. The transformer was corrected to only match
the beginning of the string. In 2.1.9 this error can be circumvented by configuring the transformer and
adding "*" to the end of each pattern.
Committed by RG. See Issue COCOON-1742. -
As with all the AbstractTextSerializer based serializers, the XHTMLSerializer should handle the omit-xml-declaration to not put the XML declaration as first line of the serialized document.
This prevents many rendering problems in Internet Explorer. Default behaviour is to send the xml declaration as before.
Committed by AS. Thanks to Maurizio Pillitu. See Issue COCOON-1845. -
Commandline interface: the user-agent is now correctly set in the request headers (and not in the request parameters).
Committed by CZ. Thanks to James Bates. See Issue COCOON-1511. -
RandomNumberModule: does not returns random number in the range (min,max) as expected.
Committed by AG. See Issue COCOON-1716. -
Performance Issue/JavaScriptFlowScript: If <reload-scripts> is set to false,
don't check for last modification time of javascript source files.
Committed by AG. Thanks to Georg Hüttenegger. See Issue COCOON-1721. -
XSP block: Fix regression introduced in 2.1.8 that under specific circumstances logicsheets
were not applied, leading to compilation errors. This manifested itself only if
a) two XSPs referred to the same custom logicsheet by a relative location path,
b) the custom logicsheet used another logicsheet, and
c) the built-in logicsheet's namespace was not mentioned in xsp:page.
The compilation errors occurred always when calling the second XSP for the first time.
Fix also race condition which could lead to similar XSP compilation errors under high load
when accessing the same logicsheet for the first time.
Committed by AN. -
Template block: Make the template block usable with JDK 1.3+ and enable it by default.
Committed by CZ. -
CForms: Fix inplace editing samples
Committed by JBQ. -
CForms: Add id, state and listening attributes to the transformed form-template element (jx macros
and forms transformer).
Committed by CZ. See Issue COCOON-1820. -
XSP block: Use private methods to call start/endElement in xsp.xsl.
That generates smaller bytecode allowing to compiler larger XSPs before hitting the
64k limit for the size of the generate() method.
Committed by AN. -
Forms block: modified ProcessingPhase to add a PROCESSING_INITIALIZE phase instead of the spurious
double READ_FROM_REQUEST_VALUE sent before. Made a ProcessingPhaseListener configurable from
form definition with on-processing-phase and adapted the JavaScript widget listener to support
processing phase events.
Committed by SG. See Issue COCOON-1781COCOON-1685. -
Forms block: added repeater events. Repeater now sends row added, deleted etc.. events.
The listener can be added in definition with an on-repeater-modified element. Added support
for these events in JavaScript listener.
Committed by SG. See Issue COCOON-1801. -
Passing the default locale while parsing initial-value on a form if no locale attribute was specified.
Committed by SG. See Issue COCOON-1844.
Contributors to this release
We thank the following people for their contributions to this release.
This is a list of all people who participated as committers:
Antonio Gallardo (AG), Alfred Nathaniel (AN), Andrew Savory (AS), Bertrand Delacrétaz (BD), Bruno Dumon (BRD), Carsten Ziegeler (CZ), Giacomo Pati (GP), Jean-Baptiste Quenot (JBQ), Jörg Heinicke (JH), Jason Johnston (JJ), Jeremy Quinn (JQ), Marc Portier (MPO), Ralph Goers (RG), Simone Gianni (SG), Vadim Gritsenko (VG).
This is a list of other contributors:
Aleksander Bandelj, Andrew Stevens, Ard Schrijvers, Brian Vargas, Carlos Chávez, Carlos Chávez & Eric Meyer, Christofer Dutz, Conal Tuohy, Dennis Dam, Don Grodecki, Ellis Pritchard, Eric Meyer, Fabian Linz, Frédéric Glorieux, Freek Segers, Gabriele Columbro, Georg Hüttenegger, Geurt Wisselink, Guillaume Déflache, Holger Wahlen, Igor Naumov, James Bates, Jasha Joachimsthal, Jason Johnston, Jeroen Goubert, Jeroen Reijn, Lars Trieloff, Mark Lundquist, Martin Kuck, Maurizio Pillitu, Pier Fumagalli, Rob Berens, Suzan Foster, Tim Williams, Vince, Vincent Demay.
Version 2.1.9 (April 7 2006)
-
Fix caching problems in ImageReader: image was not regenerated when allow-enlarging or fit-uniform sitemap
parameters were changed
Committed by JBQ. -
CForms: Added event handling for group of type "choice" (allow formsOnShow attribute)
Committed by JBQ. Thanks to Rob Berens. See Issue COCOON-1809. -
CForms: Added method StaticSelectionList.addItem(Object value, String label)
Committed by JBQ. Thanks to Rob Berens. See Issue COCOON-1808. -
CForms: add dynamic id to Form object. This allows to use the same form model several times on
the same page, for example if the form is used in a portal.
Committed by CZ. -
Configuration values can now be set externally. The properties that can be modified can be identified by
looking at the property files in WEB-INF/properties. The properties can be overriden by specifying them as
system properties when invoking Cocoon or by placing them in a property file and identifying its location via
the "org.apache.cocoon.settings" system property. The default Cocoon script sets this to ./cocoon.properties.
Committed by RG. -
Deprecated method o.a.c.environment.Environment.getOutputStream() still used internally.
Committed by AG. Thanks to Mark Lundquist. See Issue COCOON-1814. -
Added the NekoHTMLTransformer. Updated the NekoHTMLGenerator's setup bits to allow for setting parser features as
well as properties, and provided a sample neko.properties configuration file.
Committed by JBQ. Thanks to Andrew Stevens. See Issue COCOON-1639. -
Updated asm to 2.2.1, asm-util to 2.2.1 groovy to 1.0-jsr-05 and antlr to 2.7.6.
Committed by AG. -
CForms: added an fd:java validator to make it easy to implement custom
WidgetValidator's in Java (for use in the form definition).
Committed by BRD. Thanks to Simone Gianni. See Issue COCOON-1806. -
Updated commons-io to 1.2.
Committed by AG. -
Ajax: rewrote everything with Dojo, added a new "PartialLink" widget using
the "target" attribute on links to partially update the page.
Committed by SW. -
Forms: many Ajax-related new features.
- Rewrote almost everything using Dojo
- Added a Dojo widget for repeaters, allowing drag and drop reordering of rows (but not on Safari) and clicking in rows to select them.
- Added a Dojo widget for inplace editing.
- Added a Dojo widget for suggestion-lists. It works in relation with a new <fd:suggestion-list> element in form definitions.
- Added a new selection/suggestion-list implementation based on a JS code snippet in the form definition.
-
Forms: updated Daisy HTML cleaner component to version 1.4.1 (was 1.1).
Committed by BRD. -
Added the template block from Cocoon 2.2. This block contains a refactored implementation
of the JXTemplate generator, which should be compatible with the existing one and is thus
usable as a drop-in replacement. It should provide better performance, and some new features,
such as Javascript expressions using @{...} syntax. It is used by having type="newjx"
on map:generate, or by changing the mapping of the "jx" generator type to the new
implementation class.
Committed by BRD. -
Apples can now access components declared in mounted sitemaps.
Committed by JHS. Thanks to Paul Focke. See Issue COCOON-1728. -
Updated xercesImpl to 2.8.0 and xml-apis to 1.3.03.
Committed by AG. -
JUnit tests for LocaleAction.
Committed by JHS. Thanks to Andrew Stevens. See Issue COCOON-1779. -
Incompatible change for RoleFilterTransformer: Removed dependency on FilterTransformer. Be careful to update your
sitemap to reflect this. Also thanks to Andrew Stevens for updating the patch against recent branch and Doug
Bennet for the reminder.
Committed by JHS. Thanks to Michal Durdina. See Issue COCOON-1335. -
Add Char datatype to forms.
Committed by AS. Thanks to Simone Gianni. See Issue COCOON-1789. -
Allow to add multiple rows at once to a Repeater using <fd:repeater-action command="add-row" number-of-rows="5" ...>
Committed by JBQ. Thanks to Rolf Metternich. See Issue COCOON-1729. -
TraversableGenerator calls resolveURI() twice but release() only once.
Committed by AG. Thanks to Freek Segers. See Issue COCOON-1796. -
Portal Block: Remove "external" attribute from coplet links.
Committed by CZ. -
Portal Block: Fix handling of several instances of the same portlet where all instances
showed the contents of the last portlet instance. This only applies to JSR-168 portlets,
not to coplets.
Committed by CZ. -
Allow configuration of initial context in LDAPTransformer. Example:
<ldap:initial-context name="com.sun.jndi.ldap.connect.timeout" value="5000"/>
Committed by JBQ. Thanks to Sébastien Grimault. See Issue COCOON-1707. -
html block: Add CleanupTransformer. Enables indent html, add relevant line-breaks,
and remove any namespaces that are not wanted.
Committed by DC. Thanks to Miles Elam. See Issue COCOON-1206. -
Allow ImageReader to process other image formats than JPEG
Committed by JBQ. Thanks to George Georgovassilis. See Issue COCOON-1371. -
Form block: I18nMessage - null parameter values causes NPE.
Committed by AG. Thanks to Eric Meyer. See Issue COCOON-1785. -
Ajax block: BrowserUpdateTransformer can get into invalid state - must override recycle().
Committed by AG. Thanks to Eric Meyer. See Issue COCOON-1786. -
Fix caching-point pipelines. Remove the undocumented smart-caching parameter.
Committed by JBQ. See Issue COCOON-1279. -
LDAPTransformer can optionally output the DN of every returned entry as an
attribute. To enable, use <ldap:dn-attribute>dn</ldap:dn-attribute>
Committed by JBQ. Thanks to Antonio Fiol. See Issue COCOON-1066. -
Fix handling of <ldap:execute-replace> causing NPE in LDAPTransformer
Committed by JBQ. Thanks to Warrell Harries. See Issue COCOON-1705. -
JCR block: To build the JCR block, the jcr-api-1.0.jar has to be downloaded by the user
prior to building the block. Have a look at the readme in the jcr block for
more information.
Committed by CZ. -
Mark Forms block stable. Make dream team sample work with it.
Committed by RG. -
Portal: Corrected problem with many ClassNotFoundExceptions occurring inside of the class loader by eliminating the
usage of Castor deriveByClass in portal configurations. This change significantly improves performance of the portal
login.
Committed by RG. -
When compiling with Java 1.4 or higher, EncodeURLTransformer was modified to use JDK 1.4 regular expressions
instead of Jakarta regexp improving performance and avoiding possible stack overflows.
Committed by RG. See Issue COCOON-1742. -
Cron block: NPE calling QuartzJobScheduler.fireJob if the job is a CronJob.
Committed by AG. Thanks to Eric Meyer. See Issue COCOON-1778. -
In cocoon.sh, use shell built-in command "exec" to replace sh's process
instead of forking a new process for executing the "java" command, useful
for proper service management
Committed by JBQ. -
CForms: binding: implemented support for a new attribute "jxpath-factory"
(can be used on any binding element) to change the factory used by JXPath
when it needs to create new paths (currently this is fixed to the
DOMFactory). This is useful when using non-DOM, non-bean data models.
Committed by BRD. -
CForms: call dispose() on every DatatypeBuilder if needed
Committed by JBQ. Thanks to Jonas Ekstedt. See Issue COCOON-1344. -
CForms: Java event listeners can now implement Serviceable to get a ServiceManager and Initializable.
Committed by JBQ. Thanks to Philippe Gassmann. -
CForms: when building the query string in AJAX mode, do not include <input type="button">
Committed by JBQ. Thanks to Philippe Gassmann. -
cocoon.ajax.Fader runtime error when style uses abreviated form #ccc in IE6.0sp2.
Committed by AG. Thanks to Eric Meyer. See Issue COCOON-1771. -
Added the imageop block, an Image Operation Reader providing a fairly
flexible and powerful Image Reader that is capable of performing a stack
of Effects, such as Scaling, color manipulation and coordination
transforms, in a pluggable manner.
Committed by JBQ. Thanks to Niclas Hedhman. See Issue COCOON-1301. -
Add WEB-INF/classes to loader's classpath for cli and precompile
Committed by JBQ. See Issue COCOON-1465. -
Allow to run Cocoon CLI by adding servlet.jar in the classpath. Turn off cli's debug messages by default.
Committed by JBQ. See Issue COCOON-1715. -
Fix a bug in DirectoryGenerator: when using cocoon: changes were not detected
Committed by JBQ. Thanks to Antonio Fiol. See Issue COCOON-1681. -
CForms: Incompatible change for <fb:custom>: the base context is now passed instead of the relative context.
Please change corresponding classes and use getXpath() to create the relative context yourself.
Committed by JBQ. Thanks to Bart Molenkamp. See Issue COCOON-1238. -
CForms: Java classes used in <fb:custom> can now implement Serviceable to get a ServiceManager
Committed by JBQ. Thanks to Bart Molenkamp. See Issue COCOON-1238. -
CForms: fix <ft:validation-error> handling when used with FormsTemplateTransformer
Committed by JBQ. Thanks to Jochen Kuhnle. See Issue COCOON-1558. -
Updated db-ojb to 1.0.4.
Committed by AG. -
Allow AbstractTextSerializer to be used with Saxon
Committed by JBQ. See Issue COCOON-1695. -
Disable Error Message when SAXON is used as the XSLT transformer
Committed by JBQ. See Issue COCOON-1704. -
CForms: Enable MultiValueFields with checkbox style to be disabled
Committed by JBQ. Thanks to Paul Focke. See Issue COCOON-1699. -
IncludeTransformer: source must not be cached if an error occurs
Committed by JBQ. See Issue COCOON-1719. -
Fix a bug in CForms: Null locator in EffectPipe triggers NPE
Committed by JBQ. Thanks to Tom Green. See Issue COCOON-1651. -
Added a "precompile" target for the cocoon startup script. It precompiles
all XSPs found in the webapp.
Committed by JBQ. Thanks to Simon Mieth. See Issue COCOON-1170. -
Portal block: Fix handling of caching-global-use-attributes bug in CachingCopletAdapter.
Committed by CZ. Thanks to Guillaume Deflache. See Issue COCOON-1698. -
Updated log4j to 1.2.13, quartz to 1.5.1.
Committed by AG. -
CForms: Added the sendForm(uri, viewData) function to Form.js, useful to display a form without the need to create
a continuation. Useful along with the new processForm(viewData) function that updates the form values from the
current request.
Committed by JBQ. -
Fix a bug in CForms: Form.js overwriting the CFormsInstance attribute in viewData
Committed by JBQ. See Issue COCOON-1720. -
Fix a bug in CForms library when extending a field
Committed by JBQ. Thanks to Daniele Madama. See Issue COCOON-1736. -
CSVGenerator now looks for the sitemap parameter "process-headers" (with
the s at the end) as told in the documentation. Accepts a new sitemap
parameter "max-records" which allows to limit the number of records to
read. Fixes a caching bug: the same result was returned notwithstanding
the modification of separator or escape character.
Committed by JBQ. Thanks to Philippe Laplanche. -
Add ids to CForms validation messages, so that they can be unit-tested
Committed by JBQ. Thanks to Thomas Lutz. See Issue COCOON-1610. -
Permit the choice of attributes to augment in AugmentTransformer
Committed by JBQ. Thanks to Aurélien DEHAY. See Issue COCOON-1627. -
Allow to use a <fd:value-count> validation rule with <fd:multivaluefield>
Committed by JBQ. Thanks to Marco Rolappe. See Issue COCOON-1621. -
Allow to extend JXPathBinding outside the org.apache.cocoon.forms.binding package
Committed by JBQ. Thanks to Philippe Gassmann. See Issue COCOON-1731. -
When saving a cform, remove xml elements if the value of the widget is null.
Symptom is eg date field initialized to 1970-01-01
Committed by JBQ. Thanks to Philippe Gassmann. See Issue COCOON-1687. -
XMLDBTransformer can use username/password to access XMLDB.
Note that DatabaseManager.getCollection() accepts null values for user and
password, see
http://xmldb-org.sourceforge.net/xapi/api/org/xmldb/api/DatabaseManager.html#getCollection(java.lang.String,%20java.lang.String,%20java.lang.String)
Committed by JBQ. See Issue COCOON-1259. -
Portal Block: Provide user name to portlets.
Committed by CZ. -
Portal Block: Make wsrp event adapter thread safe, fix error in disposing wsrp
producer and update portals bridges to 1.0.
Committed by CZ. -
Replace deprecated library excalibur-io 1.1 with commons-io 1.1.
The file excalibur-io-1.1.jar is no longer part of the cocoon distribution.
Note: All the packages under org.apache.avalon.excalibur.io.* can be found under
org.apache.commons.io.*. Please update the imports in your code.
Committed by AG. -
Updated asm to 2.1, asm-util to 2.1 and groovy to 1.0-jsr-04.
Committed by AG. -
XSP block: Reintroduce locally scoped xspAttr in xsp.xsl to improve backwards compatibility for pre-2.1.9
logicsheets. (Suggestion by Vadim Gritsenko).
Committed by AN. -
I18n: XMLResourceBundle checks now for both the new and the old namespace.
Committed by JH. See Issue COCOON-1700. -
XMLDB: heavy refactoring. The source is now traversable (like file and jcr) and has two specific
methods: createId to create a new document ID for a collection, and and getBinaryOutputStream
to write binary data to the database.
Committed by SW. -
XSP block: Instrument {#expr} interpolation to produce Cocoon stacktrace for parse errors.
Committed by AN. -
Portal block: Fix possible encoding problems with JSR 168 portlets.
Committed by CZ. -
Portal block: Support external form actions in HTML transformation.
Committed by CZ. -
Database block: Renaming AttributeImpl xspAttr to _xspAttr was not applied to ESQL logicsheet.
That caused compliation errors in all XSPs using it.
Committed by AN. Thanks to Feliciano Borrego. See Issue COCOON-1691. -
Core: Error handling fixed in map:aggregate (ContentAggregator). Now, no content is prepended to the
result of any error handling pipeline.
Committed by MPF. -
Core: Caching pipelines (CachingProcessingPipeline, ExpiresCachingProcessingPipeline, ...) will now check
if the content they are trying to generate is already being generated by another caching pipeline.
If so, they will wait for that content to appear in the Cache and use that content instead of
re-generating it and possibly causing high load on the server.
Committed by MPF. -
Core: ExpiresCachingProcessingPipeline will not set up a pipeline anymore when a cached
version of it is available. Any cached response will now serve quickly, no matter how
complex the actual pipeline is.
Committed by MPF.
Contributors to this release
We thank the following people for their contributions to this release.
This is a list of all people who participated as committers:
Antonio Gallardo (AG), Alfred Nathaniel (AN), Andrew Savory (AS), Bruno Dumon (BRD), Carsten Ziegeler (CZ), David Crossley (DC), Jean-Baptiste Quenot (JBQ), Jörg Heinicke (JH), Jorg Heymans (JHS), Max Pfingsthorn (MPF), Ralph Goers (RG), Sylvain Wallez (SW).
This is a list of other contributors:
Andrew Stevens, Antonio Fiol, Aurélien DEHAY, Bart Molenkamp, Daniele Madama, Eric Meyer, Feliciano Borrego, Freek Segers, George Georgovassilis, Guillaume Deflache, Jochen Kuhnle, Jonas Ekstedt, Marco Rolappe, Mark Lundquist, Michal Durdina, Miles Elam, Niclas Hedhman, Paul Focke, Philippe Gassmann, Philippe Laplanche, Rob Berens, Rolf Metternich, Sébastien Grimault, Simone Gianni, Simon Mieth, Thomas Lutz, Tom Green, Warrell Harries.
Version 2.1.8 (November 18 2005)
-
POST method in cinclude:includexml is broken.
Committed by AG. Thanks to Maurice Jumelet. See Issue COCOON-1365. -
Forms block: If a field is required or not can be changed during form processing.
Applied patch by Philipp Schmidt (philipp.schmidt@gmail.com).
Committed by CZ. -
Forms block:
- Automatic submit-on-change. Fields which have value-changed listeners are now by default submitted automatically, meaning adding <fi:styling submit-on-change="true"/> is no more necessary. For those cases where a field with event listeners should not be automatically submitted, set submit-on-change to false.
- Introduce a naming convention for stylesheet-generated IDs: they should all start with the
widget's ID followed by a ":" and a name. The use of ":", which is forbidden in widget names,
avoids conflicts with other widgets in the form. All stylesheets have been updated to this convention.
This change can break applications that use document.getElementById() to access some of the generated elements (notably "foo-input" that's used for the <input> of the "foo" widget), but this notation is now a public contract that will be taken care of in the future. - Along with field, aggregatefield and booleanfield, you can now add value-changed listeners on output and upload widgets.
- Widget validators can now return not only a boolean value, but also a String or an XMLizable (such as I18nMessage) which are used to set a validation error on the widget.
- The <fi:styling submit-on-change="output"/> is no more available, as it was intrinsically broken as a field whose value is not submitted is reset. Use the "output" widget state to achieve the same effect.
-
Forms block: Fix HTML rendering of booleanfields in output state.
Committed by SW. Thanks to Jason Johnston. See Issue 36381. -
Forms block: Fix ArrayIndexOutOfBoundException in the library subsystem.
Committed by SW. Thanks to Philipp Schmidt. See Issue 37005. -
Portal Block: Only remove layout if a layout remove event is fired (and not with each layout event).
Committed by CZ. -
Fix bug with session:getxml when path is a text-element and IncludeXMLConsumer
when including text nodes.
Committed by CZ. Thanks to Armaz Mellati. See Issue 36471. -
Update Pluto to final release 1.0.1.
Committed by CZ. -
Portal block: Deprecate AbstractUserProfileManager and AuthenticationProfileManager.
Committed by CZ. -
Portal block: Add title to basket item in the portal sample.
Committed by CZ. Thanks to Philippe Gassmann. See Issue 33152. -
Portal block: Fix history aspect when coplets are used.
Committed by CZ. Thanks to Philippe Gassmann. See Issue 37115, 29405. -
Do not flush and close output stream, servlet container
will take care of it.
Committed by VG. See Issue 35905. -
Portal Block: Include coplet instance id in window renderer; ignore
javascript: urls during url rewriting.
Committed by CZ. -
Portal Block: Allow Full screen mode to show navigation.
Committed by RG. See Issue 32784. -
Portal Block: PageLabelLinkService generated the wrong url when using 3 layer tabs with showallnav.
Committed by RG. Thanks to Roy Huang. See Issue 34802. -
Databases block: Support stored procedures returning result set in SQLTransformer.
Committed by VG. See Issue 30894. -
Bricks-cms example application created (distributed separately), see http://wiki.apache.org/cocoon/BricksCms
Committed by BD. -
Improved blocks build exclusion/inclusion. See blocks.properties for more info.
Committed by LG. -
I18n: Refactored XMLResourceBundle to use transient store instead of
private cache. Added reload check interval parameter. Support dynamic
additions and removals of resource bundles, without need to restart
Cocoon.
Committed by VG. -


