History of Changes
Version 2.1.10 (TBD)
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 (JBQ)
-
CForms: Added event handling for group of type "choice" (allow formsOnShow attribute) (JBQ) Thanks to Rob Berens. Fixes COCOON-1809.
-
CForms: Added method StaticSelectionList.addItem(Object value, String label) (JBQ) Thanks to Rob Berens. Fixes 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. (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. (RG)
-
Deprecated method o.a.c.environment.Environment.getOutputStream() still used internally. (AG) Thanks to Mark Lundquist. Fixes 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. (JBQ) Thanks to Andrew Stevens. Fixes 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. (AG)
-
CForms: added an fd:java validator to make it easy to implement custom WidgetValidator's in Java (for use in the form definition). (BRD) Thanks to Simone Gianni. Fixes COCOON-1806.
-
Updated commons-io to 1.2. (AG)
-
Ajax: rewrote everything with Dojo, added a new "PartialLink" widget using the "target" attribute on links to partially update the page. (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). (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. (BRD)
-
Apples can now access components declared in mounted sitemaps. (JHS) Thanks to Paul Focke. Fixes COCOON-1728.
-
Updated xercesImpl to 2.8.0 and xml-apis to 1.3.03. (AG)
-
JUnit tests for LocaleAction. (JHS) Thanks to Andrew Stevens. Fixes 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. (JHS) Thanks to Michal Durdina. Fixes COCOON-1335.
-
Add Char datatype to forms. (AS) Thanks to Simone Gianni. Fixes COCOON-1789.
-
Allow to add multiple rows at once to a Repeater using <fd:repeater-action command="add-row" number-of-rows="5" ...> (JBQ) Thanks to Rolf Metternich. Fixes COCOON-1729.
-
TraversableGenerator calls resolveURI() twice but release() only once. (AG) Thanks to Freek Segers. Fixes COCOON-1796.
-
Portal Block: Remove "external" attribute from coplet links. (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. (CZ)
-
Allow configuration of initial context in LDAPTransformer. Example: <ldap:initial-context name="com.sun.jndi.ldap.connect.timeout" value="5000"/> (JBQ) Thanks to Sébastien Grimault. Fixes COCOON-1707.
-
html block: Add CleanupTransformer. Enables indent html, add relevant line-breaks, and remove any namespaces that are not wanted. (DC) Thanks to Miles Elam. Fixes COCOON-1206.
-
Allow ImageReader to process other image formats than JPEG (JBQ) Thanks to George Georgovassilis. Fixes COCOON-1371.
-
Form block: I18nMessage - null parameter values causes NPE. (AG) Thanks to Eric Meyer. Fixes COCOON-1785.
-
Ajax block: BrowserUpdateTransformer can get into invalid state - must override recycle(). (AG) Thanks to Eric Meyer. Fixes COCOON-1786.
-
Fix caching-point pipelines. Remove the undocumented smart-caching parameter. (JBQ) Fixes 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> (JBQ) Thanks to Antonio Fiol. Fixes COCOON-1066.
-
Fix handling of <ldap:execute-replace> causing NPE in LDAPTransformer (JBQ) Thanks to Warrell Harries. Fixes 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. (CZ)
-
Mark Forms block stable. Make dream team sample work with it. (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. (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. (RG) Fixes COCOON-1742.
-
Cron block: NPE calling QuartzJobScheduler.fireJob if the job is a CronJob. (AG) Thanks to Eric Meyer. Fixes 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 (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. (BRD)
-
CForms: call dispose() on every DatatypeBuilder if needed (JBQ) Thanks to Jonas Ekstedt. Fixes COCOON-1344.
-
CForms: Java event listeners can now implement Serviceable to get a ServiceManager (JBQ) Thanks to Philippe Gassmann.
-
CForms: when building the query string in AJAX mode, do not include <input type="button"> (JBQ) Thanks to Philippe Gassmann.
-
cocoon.ajax.Fader runtime error when style uses abreviated form #ccc in IE6.0sp2. (AG) Thanks to Eric Meyer. Fixes 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. (JBQ) Thanks to Niclas Hedhman. Fixes COCOON-1301.
-
Add WEB-INF/classes to loader's classpath for cli and precompile (JBQ) Fixes COCOON-1465.
-
Allow to run Cocoon CLI by adding servlet.jar in the classpath. Turn off cli's debug messages by default. (JBQ) Fixes COCOON-1715.
-
Fix a bug in DirectoryGenerator: when using cocoon: changes were not detected (JBQ) Thanks to Antonio Fiol. Fixes 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. (JBQ) Thanks to Bart Molenkamp. Fixes COCOON-1238.
-
CForms: Java classes used in <fb:custom> can now implement Serviceable to get a ServiceManager (JBQ) Thanks to Bart Molenkamp. Fixes COCOON-1238.
-
CForms: fix <ft:validation-error> handling when used with FormsTemplateTransformer (JBQ) Thanks to Jochen Kuhnle. Fixes COCOON-1558.
-
Updated db-ojb to 1.0.4. (AG)
-
Allow AbstractTextSerializer to be used with Saxon (JBQ) Fixes COCOON-1695.
-
Disable Error Message when SAXON is used as the XSLT transformer (JBQ) Fixes COCOON-1704.
-
CForms: Enable MultiValueFields with checkbox style to be disabled (JBQ) Thanks to Paul Focke. Fixes COCOON-1699.
-
IncludeTransformer: source must not be cached if an error occurs (JBQ) Fixes COCOON-1719.
-
Fix a bug in CForms: Null locator in EffectPipe triggers NPE (JBQ) Thanks to Tom Green. Fixes COCOON-1651.
-
Added a "precompile" target for the cocoon startup script. It precompiles all XSPs found in the webapp. (JBQ) Thanks to Simon Mieth. Fixes COCOON-1170.
-
Portal block: Fix handling of caching-global-use-attributes bug in CachingCopletAdapter. (CZ) Thanks to Guillaume Deflache. Fixes COCOON-1698.
-
Updated log4j to 1.2.13, quartz to 1.5.1. (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. (JBQ)
-
Fix a bug in CForms: Form.js overwriting the CFormsInstance attribute in viewData (JBQ) Fixes COCOON-1720.
-
Fix a bug in CForms library when extending a field (JBQ) Thanks to Daniele Madama. Fixes 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. (JBQ) Thanks to Philippe Laplanche.
-
Add ids to CForms validation messages, so that they can be unit-tested (JBQ) Thanks to Thomas Lutz. Fixes COCOON-1610.
-
Permit the choice of attributes to augment in AugmentTransformer (JBQ) Thanks to Aurélien DEHAY. Fixes COCOON-1627.
-
Allow to use a <fd:value-count> validation rule with <fd:multivaluefield> (JBQ) Thanks to Marco Rolappe. Fixes COCOON-1621.
-
Allow to extend JXPathBinding outside the org.apache.cocoon.forms.binding package (JBQ) Thanks to Philippe Gassmann. Fixes 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 (JBQ) Thanks to Philippe Gassmann. Fixes 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) (JBQ) Fixes COCOON-1259.
-
Portal Block: Provide user name to portlets. (CZ)
-
Portal Block: Make wsrp event adapter thread safe, fix error in disposing wsrp producer and update portals bridges to 1.0. (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. (AG)
-
Updated asm to 2.1, asm-util to 2.1 and groovy to 1.0-jsr-04. (AG)
-
XSP block: Reintroduce locally scoped xspAttr in xsp.xsl to improve backwards compatibility for pre-2.1.9 logicsheets. (Suggestion by Vadim Gritsenko). (AN)
-
I18n: XMLResourceBundle checks now for both the new and the old namespace. (JH) Fixes 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. (SW)
-
XSP block: Instrument {#expr} interpolation to produce Cocoon stacktrace for parse errors. (AN)
-
Portal block: Fix possible encoding problems with JSR 168 portlets. (CZ)
-
Portal block: Support external form actions in HTML transformation. (CZ)
-
Database block: Renaming AttributeImpl xspAttr to _xspAttr was not applied to ESQL logicsheet. That caused compliation errors in all XSPs using it. (AN) Thanks to Feliciano Borrego. Fixes COCOON-1691.
-
Core: Error handling fixed in map:aggregate (ContentAggregator). Now, no content is prepended to the result of any error handling pipeline. (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. (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. (MPF)
Contributors
This is a list of all people who have contributed to this release, but were not full developers on the project. We thank these people for their contributions.
- 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. (AG) Thanks to Maurice Jumelet. Fixes 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). (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. (SW) Thanks to Jason Johnston. Fixes 36381.
-
Forms block: Fix ArrayIndexOutOfBoundException in the library subsystem. (SW) Thanks to Philipp Schmidt. Fixes 37005.
-
Portal Block: Only remove layout if a layout remove event is fired (and not with each layout event). (CZ)
-
Fix bug with session:getxml when path is a text-element and IncludeXMLConsumer when including text nodes. (CZ) Thanks to Armaz Mellati. Fixes 36471.
-
Update Pluto to final release 1.0.1. (CZ)
-
Portal block: Deprecate AbstractUserProfileManager and AuthenticationProfileManager. (CZ)
-
Portal block: Add title to basket item in the portal sample. (CZ) Thanks to Philippe Gassmann. Fixes 33152.
-
Portal block: Fix history aspect when coplets are used. (CZ) Thanks to Philippe Gassmann. Fixes 37115, 29405.
-
Do not flush and close output stream, servlet container will take care of it. (VG) Fixes 35905.
-
Portal Block: Include coplet instance id in window renderer; ignore javascript: urls during url rewriting. (CZ)
-
Portal Block: Allow Full screen mode to show navigation. (RG) Fixes 32784.
-
Portal Block: PageLabelLinkService generated the wrong url when using 3 layer tabs with showallnav. (RG) Thanks to Roy Huang. Fixes 34802.
-
Databases block: Support stored procedures returning result set in SQLTransformer. (VG) Fixes 30894.
-
Bricks-cms example application created (distributed separately), see http://wiki.apache.org/cocoon/BricksCms (BD)
-
Improved blocks build exclusion/inclusion. See blocks.properties for more info. (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. (VG)
-
JavaDocs and documentation are no longer copied to the webapp. (CZ)
-
build.sh: use --noconfig option to avoid problems with local ant settings. Does not apply to build.bat, windows ant scripts do not have this option. (BD) Thanks to Sandor Spruit.
-
cocoon.sh and cocoon.bat (done by CZ): "servlet" is now the default action. (BD)
-
Update Avalon framework to 4.3, Avalon LogKit to 2.1, Excalibur Instrument to 2.1, Excalibur Logger to 2.1, Excalibur Pool to 2.1, Excalibur SourceResolve to 2.1, Excalibur Store to 2.1, Excalibur XMLUtils to 2.1 and Excalibur Database to 2.1. (VG)
-
Fix OutofBoundsException when form element does not have an action attribute (JHS) Thanks to Max Pfingsthorn. Fixes 30796.
-
Portal Block: PageLabelLinkService generated the wrong url when using 3 layer tabs with showallnav. (RG) Thanks to Roy Huang. Fixes 34802.
-
CForms block: new Tree widget, heavily inspired by Swing's JTree. Features Ajax, selection listeners, and a lightweight data model with two implementations: a generic one, and a source-based one to build file explorers. (SW)
-
CForms: The repeater widget now supports min and max-size attributes. (JHS) Thanks to Thomas Lutz. Fixes 36781.
-
Moved support for zip: sources from scratchpad into the core. (VG)
-
CForms: Small change to the calendar styling which now shows dropdowns to choose the time when the date format includes time also. (SW) Thanks to Jean-Christophe Kermagoret.
-
Updated quartz to 1.5.0. (AG)
-
Midi Block: Marked as stable. (JH) Fixes 28056.
-
Portal Block: Provide sample for caching uri coplet adapter (Gallery coplet). (CZ) Thanks to Michal Durdina. Fixes 32994.
-
Portal Block: Add missing interface CopletInstanceEvent to FullScreenCopletEvent. (CZ)
-
CForms: Improved error message for wrong content type on upload. (JH) Thanks to Mark Lundquist. Fixes 35475.
-
XSP: EclipseJavaCompiler chokes on warnings. Changed to errors. (JH) Thanks to Jochen Kuhnle. Fixes 35162.
-
CForms: Fixed JavaScript error in forms-lib.js when using keyword undefined and Mac IE 5.0. (JH) Thanks to Dan Durkin. Fixes 33318.
-
Caching support for XInclude Transformer (AG) Thanks to Jason Johnston. Fixes 31600.
-
CForms block: new form libraries features. You can now define form definition and binding library files and import them for reuse and/or extension in regular definition and binding files.
This is the result of the Max Pfingsthorn's Google Summer of Code (GSoC) project. (SW) Thanks to Max Pfingsthorn. -
When the upload size exceeds the configured limit, a RejectedPart is associated to the request rather than throwing a exception at the servlet level. This allows the application to handle oversized uploads and provide meaningful messages. The upload widget in CForms has been updated to use this new feature.
Uploads are now allowed in the provided web.xml, but with a low 100 kbytes limit to allow samples to be functional without endangering security. (SW) -
Updated log4j to 1.2.12, asm to 2.0, asm-util to 2.0, groovy to 1.0-jsr-03. (AG)
-
Deli block updated to use the latest revision of DELI. This uses a more robust method of loading configuration files that should ensure DELI works on different apps servers or deployed as a WAR. (JHS) Thanks to Mark H. Butler. Fixes 35538.
-
MultipartParser now removes partially uploaded files (JHS) Thanks to Gunnar Brand. Fixes 29712.
-
Added ImageMap widget. (JHS) Thanks to Luca Morandini. Fixes 35462.
-
Added percentage-dimensions and jpeg quality handling to the ImageReader. (JHS) Thanks to Eric Caron. Fixes 36326.
-
JXTG: jx:formatDate and jx:formatNumber allows for specifying locale string instead of a Locale object (LG) Thanks to Henric Mueller. Fixes 35845.
-
Added a new "validation" block abstracting the concept of XML validation and providing access to schemas and validation tools from within Cocoon pipelines and/or Cocoon components. As of right now, the "validation" block supports the RELAX-NG grammar using JING and the XML-Schema grammar using Xerces. (PF)
-
Add a "cocoon.exit()" method to flowscript, which allows to exit the current flowscript invocation without creating a continuation. (SW)
-
XMLdb block: Don't rely on the sitemap components to stream the contents of a xmldb source. (SW) Thanks to Jean-Baptiste Quenot. Fixes 35575.
-
CForms block: Escape apostrophes in validation messages formatted as JavaScript alerts. (SW) Thanks to Jean-Baptiste Quenot. Fixes 35574.
-
getTime(...) of CocoonLogFormatter implemented incorrectly (AG) Thanks to Johan Stuyts. Fixes 36373.
-
SourceWritingTransformer supports all allowed nodes when using source:write to create new document. (VG)
-
LocaleMatcher can save resulting locale into request, session or cookie (if configured). (VG)
-
Portal block: Add WSRP consumer support (through WSRP4J). (CZ)
-
Updated hsqldb to 1.8.0.2. (AG)
-
Portal block: Fix bugs in CachingURICopletAdapter - store cache information in temporary attributes. This bug fix introduces incompatible changes: the cache validity attribute is not used anymore, use the cache temporary attribute instead and update your code to use temporary attributes instead of (persistent) attributes. (CZ)
-
Updated jakarta-regexp to 1.4. (AG)
-
Portal block: Allow portlet adapter to stream html content through the pipeline using the NekoHTML parser. (CZ)
-
Portal block: Use OJB and the HSQLDB for authentication of the portal sample. (CZ) Thanks to Jens Maukisch. Fixes 36240.
-
XSP block: Move AttributeImpl in xsp.xsl to class scope. That allows top-level xsp:logic to define markup generating methods. Variable xspAttr renamed to _xspAttr to be avoid breaking existing XSPs which already use that trick. (AN)
-
XSP block: Add xsp:expr and various other contexts where text must be passed through XSLTExtension:escape in order to preserve non-ASCII characters in Java string constants independently of the XSP source file and compiler expected encodings. (AN)
-
Faces block: Updated MyFaces libraries to the SVN r233484, get rid of patched version. (VG)
-
Portal block: Add support for portal bridges and add CoWarp for authentication. (CZ)
-
Portal block: Add global caching to caching uri adapter. (CZ)
-
Updated xalan to 2.7.0. (AG)
-
Add geronimo-specs-javamail-1.3.1-rc5 and geronimo-spec-activation-1.0.2-rc4.jar. This jars replace mock classes for mail block. (AG)
-
JXTemplate: ensure JXPath expressions can use namespace prefix mappings declared in the template document. (SW)
-
Updated Axis to 1.2.1 and wsdl4j to 1.5.1. (CZ)
-
Updated xercesImpl to 2.7.1, xml-apis to 1.3.02, log4j to 1.2.11, nekohtml to 0.9.5, geromino-spec-jms and geronimo-spec-jta to M3. (AG)
-
Webapp context is now configurable when starting with the included Jetty webserver. Setting JAVA_OPTIONS=-Dcontext=blah/, for example will make the Cocoon webapp available at /blah/ instead of / which stays the default. (BD)
-
Update Rhino+continuations so that JavaScriptException has the same API as the official 1.6 version. This is allows to access location and nested exceptions for Cocoon stacktraces. (SW)
-
Complete refactoring of error handling in TraxTransformer and XSLTProcessor so that actual error messages are displayed rather than the useless RuntimeException usually reported by Xalan. These messages include both stylesheet compilation errors and warnings, and outputs of <xsl:message terminate="yes">.
Using this feature requires to change the XSTLProcessor class in cocoon.xconf to org.apache.cocoon.components.xslt.TraxProcessor. (SW) -
XSP block: Extend {#expr} interpolation parser to understand {}, "}", '}' as not being the closing brace. The previously implemented mechanism #} to escape braces within the statement is no longer supported. (AN)
-
Added Cocoon stacktraces. This is based on location classes in the new org.apache.cocoon.util.location package and a refactoring of the exception management to attach locations to exceptions. (SW)
-
Updated hsqldb to 1.8.0. (AG)
-
XSP block: Implement {#expr} interpolation also for logicsheets. (AN)
-
New org.apache.cocoon.util.location package, providing utilities to track locations in XML documents and the objects built from these documents. (SW)
-
Mail block: Allow any of the Cocoon-provided protocols to be used for attachments in SendMailTransformer. This means that "cocoon:" URLs are no more rewritten as external http requests. (SW) Thanks to Jean-Baptiste Quenot. Fixes 35618.
-
Added the empty: source than either generates empty documents or documents containing just a root node. (CZ) Thanks to Mark Lundquist. Fixes 35521.
-
Fix NPE in RequestGenerator when request.getHeaderNames() returns null. (CZ) Thanks to Doug Bennett. Fixes 35457.
-
Fix wrong caching behaviour in DirectoryGenerator. (CZ) Fixes 29506.
-
Portal block: Add easier to use event handling mechanism by introducing the new Receiver interface. Deprecated Publisher, Subscriber, Filter and Register. (CZ)
-
Moved following components into core: TraversableGenerator, XPathTraversableGenerator (both from repository block), CSVGenerator (from scratchpad block), FragmentExtractorTransformer and FragmentExtractorGenerator (both from batik block). (JH)
-
XSLTAL block added, presentation templating transformer based on the Zope TAL syntax. (BD) Thanks to Christian Stocker.
-
TraxTransformer: new default-src configuration parameter, used if src is not specified. (BD)
-
Added CookieModule as a more convinient way to access cookie values as {cookie:query} in alternative to {request:cookies[name='query']/value}. (AN) Thanks to Jon Evans. Fixes 28045.
-
Added parameter "show-cocoon-version" to web.xml for configuring whether X-Cocoon-Version response header should be sent. Default is true. In a security paranoid environment you may want to set it to false in order to hide from the outside world which Cocoon version you are running. (AN) Thanks to Andrew Stevens. Fixes 33388.
-
XSP block: Added short-cut notation {#expr} for interpolation of XSP expressions in attribute values and text nodes. Removed wrapping of all text nodes from XSP source into <xsp:text> elements before passing them to logicsheets. (This feature was not used by the standard logicsheets but check your custom logicsheets whether they depend on it.) (AN) Thanks to Jochen Kuhnle. Fixes 35228.
-
Portal block: Convert PortletPortalManager into portal manager aspect. (CZ)
-
CForms block: Make all WidgetValidatorBuilders ThreadSafe. Reset validation errors before validating a field. (CZ)
-
Portal block: Add portal manager aspects for more flexible portal processing. (CZ)
-
CForms block: Add isValid() method to a Widget. (CZ)
-
POI Block: Added HSSFGenerator. (VG) Thanks to Patrick Herber. Fixes 29817.
-
Added getSitemapURIPrefix method to the Request interface. (VG) Thanks to Nico Verwer. Fixes 35435.
-
Updated commons-digester to 1.7, commons-lang to 2.1, xercesImpl to 2.7.0. (AG)
-
Mail block: The SendMailTransformer can now configure the smtp port. (UH) Thanks to Johan Stuyts.
-
Fixed reloading of the i18n catalogues (regression introduced in 2.1.7). (VG) Fixes 33097.
-
JMS block: Connection failures can now be recovered from. The default JMSConnectionManager implementation detects when JMS connections are severed and schedules reconnection attempts with the cron scheduler in order to re-establish the connection. As soon as reconnection was successful it notifies its listeners so that they may recover as well and refresh their JMS sessions. The provided abstract MessageListener and JMS publisher that users are recommended to use as base classes for their concrete JMS needs have been updated to use this mechanism. (UH) Thanks to Johan Stuyts.
-
Forms block: sqldatabase sample added, demonstrates "zero java code" editing of SQL data using the SQLTransformer. (BD) Thanks to Askild Aaberg Olsen. Fixes 35364.
-
CForms block: Ensure FormHandler is always called when a field's value change. (SW) Thanks to Jeffrey Kirby. Fixes 35311.
-
CForms block: The default HTML stylesheets have been moved into the jar packages. If they should be extended in custom stylesheets, import or include them using the resource protocol: <xsl:include href="resource://org/apache/cocoon/forms/resources/forms-advanced-field-styling.xsl"/>. (RP)
-
CForms block: The form and container widgets can take up ValidationErrors. As those widgets don't have a natural place where the error message should appear, the <ft:validation-error id="[widget-id]"/> has to be used. Currently this tag is only supported by the jxtemplate macro library. (RP)
-
Fix some multithreading issues when a background thread or cron job uses the "cocoon:" protocol, that caused the background request pipeline to be recycled by the parent thread during its execution.
To use multiple threads to process a request (e.g. parallel include), background processing must use the org.apache.cocoon.environment.CocoonRunnable wrapper that ensures that the environment context of the main request is properly inherited by tasks running in the background. (SW) -
Mail block: Make internal protocol handling for attachments in SendMailTransformer configurable and properly release all sources. (CZ)
-
Move expires pipeline implementation out of the scratchpad. (CZ)
-
Add setter action to set values in the object model, request or session. (CZ)
-
Updated ant to 1.6.5. (AG)
-
CForms block: add a new <fd:true-param-value> configuration to booleanfield definitions, to allow specifying a value different from "true" for the checkbox. (SW)
-
Set the content-length of a response when the pipeline buffers the content (which is the default). (CZ)
-
XSP Block: Double check and attempt again to load program object from cache. This avoids that simultaneous requests recompile the same XSP over and over again. (AN) Fixes 32935.
-
When receiving a multipart request, also add parameters given on the URL to the request parameters. (SW)
-
EHDefaultStore.store throws more descriptive exception if key or value are not Serializable. (BD)
-
Cforms block: Caching selection list for best performance inside repeaters. Deprecate @dynamic in <fd:selection-list> in favor of @cache. Posible @cache values are:
- static => equivalent to old @dynamic="false"
- none => equivalent to old @dynamic="true"
- request => is new, similar to cache="none", but caching the selection list per request. Useful to improve performance inside repeaters.
-
Updated ant to 1.6.4, batik to 1.6, db-ojb to 1.0.3. (AG)
-
CForms block: add automatic AJAX features. When <ft:form-template> has an ajax="true" attribute, partial page updates are performed rather than full page reloads. (SW)
-
SearchGenerator return has-previous false when meet the no. 2 page. (AG) Thanks to Thomas Scheithauer. Fixes 32728.
-
The new "annotations" namespace (http://apache.org/cocoon/sitemap/annotations/1.0) can be used to add information to sitemaps. The sitemap processor ignores this information, which can be used for documentation purposes. (BD) Thanks to Johan Stuyts. Fixes 25352.
-
XSP Block: Race condition could lead to duplicate application of same logicsheet with spurious compilation errors or undefined runtime behaviour. (AN) Fixes 32934.
-
CForms block: added CAPTCHA validator. (UC)
-
IncludeTransformer moved from the scratchpad into the core. It has following features:
- Supports caching, with configurable caching key.
- Supports parallel include processing in multiple threads.
- Included source URIs resolved relative to the document URI.
- Supports recursive include processing (includes in included files).
- Supports fallback element processing.
- Supports inclusion of files as text.
-
Enabled the synchronization on Cocoon's session wrapper by assuring that only one wrapper exists per servlet session. (JH)
-
Databases: SQLTransformer: Support queries nested into insert/delete/update queries. Return number of rows updated by insert/delete/update queries as returncode element. (VG) Fixes 25098.
-
Databases: SQLTransformer: Each query can now have connection with own database connection configuration parameters. Queries with same configuration will share single database connection. You can force queries to create private connection using own-connection configuration parameter. (VG)
-
Databases: SQLTransformer: Each query can now have own output namespace and prefix. If desired output namespace already in use, existing prefix will be used. (VG)
-
Databases: SQLTransformer: Support multiple nested queries within one query. (VG) Thanks to Philipp Matthias Hahn. Fixes 27440.
-
Databases: Changes in SQLTransformer:
- By default, output resulting XML using 'sql' namespace prefix.
- Accept non-namespaced attributes in the input XML, and prefer them over attributes in SQLTransformer namespace.
- Support configured namespace, instead of hardcoded value.
-
Databases: SQLTransformer: Output attributes on rowset element with empty namespace. (VG) Thanks to Martin Holz. Fixes 31634.
-
Databases: SQLTransformer: Avoid declaring duplicate namespaces. (VG) Fixes 25203.
-
Databases: Removed xml-encoding parameter from the SQLTransformer configuration. The latest SQLTransformer has no byte to character conversions. (VG)
-
Updated ant to 1.6.3. (AG)
-
OJB Block: Added support for OJB 1.1. (VG)
-
AbstractSAXTransformer gets transformer-factory configuration parameter. (VG)
-
XMLFileModule gets cache-expressions configuration parameter. (VG)
-
form(NOT_FOUND is not a function) error caused by wrong documentation. (AG) Thanks to Juan Jose Pablos. Fixes 33100.
-
Fix ContextPathModule name in javadocs. (AG) Thanks to Jorg Heymans. Fixes 34591.
-
New JCR block that adds a "jcr:" protocol to access and modify repository contents. (SW)
-
New HTMLTransformer sample in html block. (BD)
-
Faces Block: ValidateLongRangeTag, ValidateDoubleRangeTag should use long and double to set minimum and maximum, not int. (VG) Thanks to Markus Bussemer. Fixes 34400.
-
Fixed caching of a pipeline aggregating non cacheable pipelines via cocoon: protocol. (VG)
-
Stacktrace of the ResourceNotFound exception is logged only in DEBUG level, otherwise only exception message is logged. (VG)
-
Fix environment handling to allow the root sitemap to be at an abitrary location and not only in the main webapp context directory. (SW)
-
Updated excalibur-pool to 2.0.0, excalibur-datasource to 1.2.0. Fixes problem of database connections pools not coming up after database outage. (VG)
-
Updated groovy to 1.0-jsr-01, jdtcore to 3.0.2. (AG)
-
New set of automated tests based on HtmlUnit (BD) Thanks to Alfred Nathaniel. Fixes 34294.
-
Add support for namespaced XML elements to the JXPath based input modules (includes JXPathMetaModule, XMLFileModule, and others). (VG)
-
XInclude transformer does not handle fallback correctly. (AG) Thanks to Joachim Breitsprecher. Fixes 34325.
-
Deprecate EventRecorder (in o.a.c.t.helpers package). It will be removed starting with Cocoon 2.2. (VG)
-
XSP Block: Note in the documentation that XSP namespace must be declared on the xsp:page element. (VG) Fixes 26107.
-
Fix NPE in DOMStreamer.stream(). (CZ) Thanks to John Yonosh. Fixes 33963.
-
Portal block: Make portal manager available through portal component manager. (CZ)
Contributors
This is a list of all people who have contributed to this release, but were not full developers on the project. We thank these people for their contributions.
- Alfred Nathaniel
- Armaz Mellati
- Askild Aaberg Olsen
- Christian Stocker
- Dan Durkin
- Doug Bennett
- Eric Caron
- Gunnar Brand
- Henric Mueller
- Jason Johnston
- Jean-Baptiste Quenot
- Jean-Christophe Kermagoret
- Jeffrey Kirby
- Jens Maukisch
- Joachim Breitsprecher
- Johan Stuyts
- John Yonosh
- Jon Evans
- Jorg Heymans
- Juan Jose Pablos
- Luca Morandini
- Mark H. Butler
- Markus Bussemer
- Martin Holz
- Maurice Jumelet
- Max Pfingsthorn
- Nico Verwer
- Patrick Herber
- Philipp Matthias Hahn
- Philipp Schmidt
- Roy Huang
- Sandor Spruit
- Thomas Scheithauer
Version 2.1.7 (March 23 2005)
-
Updated hsqldb to 1.7.3.3. (AG)
-
Fix caching of i18n bundles with expires validities. (VG)
-
Implemented error handling for the internal requests. Error handling for internal requests can be configured using the when attribute on the handle-errors element. Supported values for when attribute are:
- external: This error handler should be used only on external requests (default);
- internal: This error handler should be used only on internal requests;
- always: This error handler can be used for all requests.
-
Sitemap now properly throws ResourceNotFound exception for not matched requests even if last pipeline marked as an internal pipeline. (VG)
-
Sitemap handle-errors now reports an error if generator is missing, or if type attribute (deprecated) specified and generator is present. (VG)
-
Updated quartz to 1.4.5, jcs to 1.2.5-dev-20050313. (AG)
-
Refactored the Deprecation class: the "forbidden-deprecation-level" parameter in web.xml allows to raise deprecation exceptions depending on the log level. For example, DEBUG allows no deprecations (strict mode), and FATAL_ERROR allows all (tolerant mode). Default is ERROR, allowing messages up to WARN. (SW)
-
A flowscript's file encoding can now be specified by a comment on the script's very first line, in the form "// encoding = xxxx". Otherwise, the default platform encoding is used. (SW)
-
Added QueryBean as a standalone block, copied over from 2.2.0. Removed the original from the Lucene Block. Stores Favourites using OJB in HSQLDB. (JQ)
-
CForms: separate FormattingDateConvertor that uses java.text.SimpleDateFormat and Icu4jDateFormatter that uses ICU4J. There was previously an automatic switch to ICU4J if the library was present in the classpath, which sometimes caused some strange results as it behaves a bit differently. (SW)
-
Tour block: fix "shapes" sample using if/else in flowscript instead of switch. (BD)
-
Build: Added exclude.all.blocks and include.all.blocks properties to quickly toggle all blocks on or off. (VG)
-
Updated antlr to 2.7.5, groovy to 1.0-beta-10, jetty to 4.2.23 (AG)
-
OJB Block: Marked as stable. (VG)
-
Make Cocoon compilable and buildable using JDK 5.0. (all)
-
Remove scratchpad block - the scratchpad area is only available in trunk. (CZ)
-
Deprecated Pizza compiler support in XSP. To be removed in Cocoon 2.2. (AG)
-
CForms: JavaSelectionList implementations can now be Contextualizable and can build SelectionLists with XMLizable labels. (VG)
-
Change the mime-type setting of a reader. See also bug #25121. (CZ) Fixes 10277.
-
Fix thread safety problem in JXTemplateGenerator.setup() concerning template script reparsing. (LG) Thanks to Niklas Therning. Fixes 33836.
-
Polish i18n for CForms. (LG)
-
OJB Block: Renamed JdoPMF component to JDO, OdmgImplementation to ODMG, and removed PBFactory component - please use OJB PersistenceFactory API directly. (VG)
-
Runnable Manager: Fix bug preventing scheduling of two different jobs at the same time. (VG)
-
Many changes in CForms block.
Widgets:- add Widget.getDefinition() to access the definition that was used to create the widget.
- make widget definitions immutable once setup. This is necessary with the previous change as a definition is shared by all of the widgets it creates and modifying it could lead to weird behaviors.
- new "output" widget state, where values are displayed but not read on the request. The difference with "disabled" is that "output" widgets are displayed as plain text and not as disabled inputs.
- add on-create event listeners that are called when a widget is created.
- deprecate "struct" in favor of "group" in definition, template and binding. More work is needed on the relation between ft:group and fi:group provided by forms-page-styling.xsl
Field:- a field's selection list can be removed by setting it to null. This previously re-installed the widget definition's selection list.
- a field can have an optional initial value defined using <initial-value locale="...">...</initial-value>. The "locale" attribute is used to convert the value text into an object as defined by the datatype's convertor. This feature is also available on AggregateField and BooleanField (for which locale is useless).
Form.js :- added "fun" and "ttl" parameters to Form.showForm(), which now has the exact same parameters as cocoon.sendPageAndWait().
- the argument of new Form(...) can now be either a String or a DOM Element. Accepting an Element allows the use of any kind of dynamic process to build the form definition.
- Form.showForm() now uses a single continuation, which saves memory and speeds up processing by shortening the continuation chain when the user has a long interaction with the form.
- "ttl" parameter added to Form.showForm(), which has the same meaning as for cocoon.sendPageAndWait().
- new "cleanupHook" property on Form: this is a function that is called each time the form is displayed. This is similar to the "fun" parameter of cocoon.sendPageAndWait().
- new "restoreHook" property on Form: this is a function that is called each time the continuation is called back, to restore if needed the execution environment before processing the request.
Actions:- the "action-command" attribute is deprecated and replaced by "command" which is now optional, except on repeater-action and row-action where it indicates what to do.
- new "insert-rows" repeater-action that insert new rows before the selected rows in a repeater
Styling: styling "output" is deprecated and will be removed in 2.1.8. The "output" widget state should be used instead. (SW) -
Added best-fit-while-keeping-aspect-ratio option to the ImageReader (TC) Fixes 30417.
-
Resource Reader: Make sure response is cacheable when expires parameter is not set. (VG) Thanks to Adam Ratclife. Fixes 33319.
-
Mail Block: Add support for replyTo. (VG) Thanks to Andrew Thornton. Fixes 28973.
-
CocoonBean can now process a URL to a SAX ContentHandler (skipping the serialiser), via cocoon.process(uri, handler). (UV)
-
OJB Block: Integrated OJB logging with Cocoon logging. (VG)
-
Add a deprecation logger that gives hint about used deprecated stuff. (CZ)
-
Updated commons-transaction to 1.0.1, castor to 0.9.6, groovy to beta-9, quartz to 1.4.4. (AG)
-
Remove restrictions on the flowscript object model (FOM): the objects available through the cocoon object (request, session, response, etc) now provide the full API of the corresponding Java classes. (SW)
-
CForms: forms generator and template transformer now use the same object model as the JXTG: access to objects have to use the "cocoon" object, like "cocoon/continuation/id". (CZ)
-
hsqldb: make name and path of database parameterizable - this way the database can be located outside of Cocoon (RP)
-
Apply patch for a better exception handling in the Meta-InputModule when an input module is not found. (CZ) Thanks to Michal Durdina. Fixes 32987.
-
Fixed caching of i18n bundles when using multiple locations. (JH) Fixes 33097.
-
Fix handling of environment context when returning from a pass-through sitemap mount. (SW) Thanks to Jean-Baptiste Quenot. Fixes 33178.
-
Portal Block: Add portal tools framework contribution. (CZ) Thanks to Jens Maukisch. Fixes 33287.
-
Build system: External blocks can be built together with Cocoon. (CZ)
-
Refreshing a page with a JSR-168 portlet in it could cause unexpected results. JSR-168 urls can now be configured to contain the data required to generated the required events. (RG) Fixes 33091.
-
Add <compiler-compliance-level> parameter for java XSP compiler. This new parameter allow to specify the java code source version used to compile the XSP code. It is useful to run cocoon using java 1.5 while using source code for 1.4. Posible values: 1.3 = Java version 1.3 1.4 = Java version 1.4 1.5 = Java version 1.5 auto = The version of the JVM where cocoon is running. (Default value). NOTE: The parameter is optional to keep backward compatibility. The parameter currently works only with Sun Javac compiler. The eclipse compiler version 3.0.1 currently does not support java 1.5. The pizza compiler does not support java 1.5. (AG)
-
PageLabel url's were not properly encoded. (RG) Thanks to Roy Huang. Fixes 32838.
-
Updated quartz to 1.4.3, nekodtd to 0.1.11, nekohtml to 0.9.4 castor to 0.9.5.4, commons-digester to 1.6, groovy to 1.0-beta-8, asm to 1.5.2 and asm-util to 1.5.2. (AG)
-
Added commons-transaction 1.0 and commons-codec 1.3. Both are needed by slide 2.1. (AG)
-
Updated jakarta-slide-webdavlib to 2.1, jdom to 1.0, slide-kernel to 2.1, slide-stores to 2.1, slide-webdavservlet to 2.1. (AG)
-
Portal now allows Cocoon to be deployed as a war (only supports local JSR-168 portlets) and allows external portlets to be in a war. (RG)
-
CForms: the parser used to read form files now uses the EntityResolver defined in cocoon.xconf. (SW) Fixes 31668.
-
Tiny typo in AbstractTextSerializer (AG) Thanks to Micah Dubinko. Fixes 32620.
-
Modified PortletURLProviderImpl.toString() to create a copy of itself and register that with the event. (RG) Fixes 32645.
-
ContinuationsManager default implementation can now store continuations in user session. Continuations are not available outside user session and invalidated automatically when session gets invalidated by servlet container. This is a good security option for web applications. (LG)
-
Update Deli to x031104 (include over 300 vendor, operator and third party profiles) (AG) Thanks to Mark H. Butler. Fixes 32083.
-
Updated hsqldb to 1.7.3, lucene to 1.4.3, ehcache to 1.1, log4j to 1.2.9. (AG)
-
Paranoid: make the classloader implementation configurable (TC)
-
Typo on the date-selector doc. (AG) Thanks to Juan Jose Pablos. Fixes 32408.
-
xml2html.xslt does not work on IE. (AG) Thanks to Micah Dubinko. Fixes 30043.
-
Portal: attributes "javax.portlet.request" and "javax.portlet.response" were not set for JSR-168 portlets running in the Cocoon webapp. (RG) Fixes 32417.
-
CForms: added HTMLCleaning convertor (taken from Outerthought's Daisy) that cleans up the result by HTMLArea fields. The cleanup process, that is based upon Nekohtml can be configured. One confiugration is available at resource://org/apache/cocoon/forms/datatype/convertor/HtmlCleanerConfiguration.xml and guarantees valid XHTML
Example: <fd:datatype base="string"> <fd:convertor type="htmlcleaner" config="resource://org/apache/cocoon/forms/datatype/convertor/HtmlCleanerConfiguration.xml"/> </fd:datatype> (RP) -
CForms: 'htmlarea' fields can be directly configured in cForms templates
Example configuration (within the <conf> part the variable conf contains the configuration object of HTMLArea <fi:styling type="htmlarea" rows="8" style="width:100%"> <conf> conf.statusBar = false; conf.sizeIncludesToolbar = false; conf.fullPage = false; conf.toolbar = [ [ "bold", "italic", "separator", "subscript", "superscript", "separator", "insertorderedlist", "insertunorderedlist", "outdent", "indent", "separator", "inserthorizontalrule", "separator", "copy", "cut", "paste", "space", "undo", "redo", "separator", "showhelp"] ]; </conf> </fi:styling> (RP) -
CForms: fields styled as 'htmlarea' can be used in tables (workaround for strange IE behaviour) (RP)
-
CForms: add a new "link" styling for action widgets, that renders the action as an hypertext link. (SW)
-
DateInputModule now accepts date format string when specified in a sitemap. (RG) Thanks to Nico Verwer. Fixes 28360.
-
Portal: Added support for storing JSR-168 Portlet preferences. (RG)
-
Batik block: Fixed handling for empty extract URIs when matching on null namespace URIs. (JH) Fixes 32342.
-
Allow attribute values to be matches as well for EncodeURLTransformer. (GP)
-
Multipart requests: use container encoding for decoding requests, in order to have consistent handling between normal requests and multipart requests. (BRD)
-
I18n (ParamSaxBuffer): handle case where substitution params like {0} are split over multiple character events. (BRD) Thanks to Neil Bacon. Fixes 31887.
-
Fix: Continuation can only be invoked for the interpreter it was originally created for. (LG)
Contributors
This is a list of all people who have contributed to this release, but were not full developers on the project. We thank these people for their contributions.
- Adam Ratclife
- Andrew Thornton
- Micah Dubinko
- Neil Bacon
- Niklas Therning
Version 2.1.6 (November 19 2004)
-
Lucene: SearchGenerator incorrectly counts previous-index. Reported by: Tomasz Nowak (tnowak-p@netventure.pl) (AG) Thanks to Jorg Heymans. Fixes 23118.
-
Updated iText to 1.1. (AG)
-
Fix: buildList() in AbstractDatabaseAction generates incorrect parameter list. (AG) Thanks to wchao@yahoo.com. Fixes 32011.
-
Fix: Webmail sample broken. (AG) Thanks to Leo Leonid. Fixes 32124.
-
Fix: Context directory not required to be writable by the CLI. (AG) Thanks to Rick Tessner. Fixes 32214.
-
Portal: If a coplet has an error, the error-uri has been called twice. This is fixed now. (CZ) Fixes 32199.
-
Flowscript: Deprecated support for passing sitemap parameters into flowscript function as positional arguments. Use cocoon.parameters instead. Support will be removed completely in Cocoon 2.2. (VG)
-
Portal: Request content length and content type are required in portlet ActionRequest for custom upload handling. (RG) Thanks to Michal Durdina. Fixes 32159.
-
Portal: Added support for page labels. (RG) Fixes 31857.
-
Javaflow: JavaInterpreter initialize method was not thread safe. (RG) Fixes 31854.
-
Portal: Generate subnavigation for non-selected tabs. (RG) Fixes 31229.
-
Scratchpad block: Restored CastorTransformer support for context beans, restored bean lookup logic, fixed sample. (VG)
-
The CocoonBean now creates its own private logger hierarchy, thus avoiding to pollute the CocoonServlet hierarchy when called in that context (e.g. when generating a static site from a CMS). (SW)
-
Added replacement for Excalibur Event package in org.apache.cocoon.components.thread and migrated most classes using their own threads to that package. (GP) Fixes 31760.
-
Updated antlr to 2.7.4, db-ojb to 1.0.1. (AG)
-
Javaflow block: Support inherited methods. (TC) Thanks to Nikolaus Rath. Fixes 31297.
-
Javaflow block: Add parameter support. (TC)
-
CForms block: added widget states. All widgets can now have an "active" (default), "disabled" or "invisible" state. Updated the stylesheets accordingly to use HTML's disabled inputs. (SW)
-
Scratchpad block: BetwixtTransformer: removed deprecation warning with latest betwixt. (AG) Thanks to Christoph Gaffga. Fixes 29945.
-
Flowscript: enforce the explicit declaration of variables in the global scope (attached to the session). This avoids the implicit declaration of variables in the global scope when the 'var' keyword is missing, which leads to weird bugs difficult to track down, especially with continuations. (SW) Fixes 25951.
-
Deprecated the PHP block since the PHP servlet the generator depends on never worked properly. Explicitly excluded the PHP block from blocks.properties. (ATC)
-
XSP Block: Add space="strip" attribute support for <xsp:page> element. When present, all extra whitespace from XSP source is stripped. (VG) Thanks to Guillaume Deflache. Fixes 27176.
-
XMLDB Block: Fix NullPointerException in XMLDBTransformer if specified collection does not exist. (VG) Fixes 30849.
-
XSP - JXPath logicsheet: Allow use relative contexts in <jxpath:for-each>. Add a new tag <jpath:set-lenient lenient="true|false">. (AG) Thanks to Gunnar Brand. Fixes 31564.
-
Updated commons-httpclient to 2.0.2, groovy to 1.0-beta-7, commons-betwixt to 0.6. (AG)
-
Flow invocations (function calls or continuation invocations) should always result in a response. Flowscripts with no response are prohibited. (VG)
-
Portal block: Apply batch for configuring the type handling in the Castor converter. (CZ) Thanks to Juergen Seitz.
-
Fix bug in SessionPropagatorAction. (CZ) Thanks to Sal Mangano. Fixes 30250.
-
Fix syntax error in build.bat on Windows ME. (CZ) Thanks to Jeff Ramsdale. Fixes 22707.
-
Portal block: Apply patch for rendering a link of the selected tab in TabContentAspect. (CZ) Thanks to Christian Mayrhuber. Fixes 29996.
-
Portal block: Apply patch for handling GET method when no enctype is set in CopletTransformer. (CZ) Thanks to Christian Mayrhuber. Fixes 29951.
-
Throw a more meaningful exception if charset classes are missing. (TC) Fixes 31545.
-
Fixes the SQLTransformer not to close the statement twice. (TC) Fixes 30874.
-
Change constructor to be public in order to fix bug 30270. (TC) Fixes 30994.
-
Forms block: added possibility to add a SelectionList based on Java. (JH) Thanks to Nuno Santos. Fixes 29715.
-
HTML serialization has no space between publicId and systemId. Updated xalan to 2.6.1-dev-20041008T0304. (AG) Thanks to David Crossley. Fixes 28680.
-
Scratchpad block: Implemented support of parallel loading of included sources in the IncludeTransformer. (VG)
-
Updated commons-lang to 2.0-20041007T2305. Needed for Java 5 compatibility (enum is a keyword). (AG)
-
Updated jdt-core to 3.0.1. (AG)
-
Faces block: Added JSF CarStore demo. (VG)
-
Flow preserves global variables on sitemap reload. (VG)
-
Forms block: Implementation of the CForm template language using JX macros, allowing smart page layout that depends on the widgets state and value. (SW)
-
Remove jisp from distribution. (AG)
-
XSP logicsheet jpath.xsl: incorrect call to JXPathContext.compile. (AG) Thanks to Rob Berens. Fixes 31493.
-
Mail block: Support multiple SMTP servers, not only default one. (VG) Fixes 28485.
-
Mail block: Add support for authenticated SMTP server connections. (VG) Fixes 24760.
-
Cron block: JobScheduler's fireJob method now supports jobs calling Cocoon pipelines. (VG)
-
Allow recursive Flow invocations with processPipelineTo. (VG)
-
Forms block: rename fd:on-activate to fd:on-action on fd:row-action and fd:repeater-action for consistency with fd:action and fd:submit. (SW)
-
Cache the mime-type of readers and serializers. (CZ)
-
The daylight time cause error when timezone is CST. Updated icu4j to 3.0. (AG) Thanks to Johnson Hsu. Fixes 30372.
-
Upgrading DELI block from version 0.9.8 to x020904. (AG) Thanks to Mark H. Butler. Fixes 31407.
-
Add support for translating attribute values which contain i18n expressions rather than complete i18n key. (VG)
-
Forms block: allow widget attributes which were only accessible programmatically to be set in the form definition. This allows e.g. generic form processing code to find widgets having a particular attribute. (SW)
-
Mail block: the MailSender now gets its source resolver from the service manager. This allows its use from flowscript where the old SourceResolver is not available. (SW)
-
AbstractSAXTransformer namespaceURI and defaultNamespaceURI must never be null. When extending AbstractSAXTransformer make sure to set defaultNamespaceURI in the constructor. (VG)
-
Faces block: Initial implementation of JavaServer Faces for Cocoon. (VG)
-
Taglib block: Initial implementation of BodyTag. (VG)
-
Portal block: Changed pathInfo and servletPath logic. pathInfo always starts with '/', while servletPath always has no '/' at the end. (VG)
-
JXPathMetaModule incorrectly checks for null parameter (can't happen) instead of empty string. (AG) Thanks to Ralph Goers. Fixes 31134.
-
Cron block: Fixed memory leak, QuartzJobExecutor was not releasing pipelines. (VG)
-
Updated jexl to 1.0, lucene to 1.4.1. (AG)
-
Selector for matching the request headers using a regular expression. Simple content negotiation, e.g. serve XHTML if browser indicates it accepts application/xhtml+xml and HTML otherwise; potentially do automatic i18n according to the accept-language header. (DC) Thanks to Colin Adams. Fixes 30321.
-
New @pass-through attribute for the sitemap mount node. If true, processing will resume in the base sitemap just after the mount node if the mounted sitemap has not already generated output (usually if no match is found). Previous behaviour was always to throw a ResourceNotFoundException. The attribute defaults to "false" for backwards compatibility. (NKB)
-
Portal block: New Group Based Profile Manager. (CZ)
-
Cron block: Add support for persistent job stores, type "tx" and "cmt". (VG)
-
Cron block: Fix TestCronJob pipeline call functionality. (VG)
-
GetInstance don't work with upgrade from db-ojb-1.0rc6. (AG) Thanks to Johnson Hsu. Fixes 30065.
-
Updated rhino to 1.5r4-20040629T1232, xreporter-expression to 20040701, ehcache to 0.9. (AG)
-
A redirect is now possible, if it's called from flow. This also fixes bug #26571. (CZ) Fixes 26854.
-
Mail block: Add ability to specify mime-type for email body text parameter in the mail transformer. (CZ) Thanks to John Lianoglou. Fixes 30688.
-
Fix potential memory leaks in CForms/Woody Template Transformer and JXTemplateGenerator. (CZ)
-
XMLDB Block: Add ability to delete collections with XMLDBTransformer. (VG) Thanks to Rui Alberto L. Gonçalves. Fixes 29765.
-
Reworked LocaleAction and LocaleMatcher to have similar logic and configuration.
NOTE: Sitemap variable "lang" renamed to "language", removed configuration parameters: "language-attribute", "country-attribute", "variant-attribute". (VG) -
Added LocaleMatcher for file based internationalization. (UV)
-
Make implementation of Cocoon protocol compliant with the Source interface. (CZ) Fixes 27260.
-
Update ant to 1.6.2, commons-jxpath to 1.2, commons-beanutils to 1.7, POI to 2.5.1-final-20040804, commons-httpclient to 2.0.1, nekohtml to 0.9.3, hsqldb to 1.7.2, jcs to 1.1-dev-20040811, quartz to 1.4.2, asm to 1.4.3, asm-util to 1.4.3 and groovy to 1.0-beta6. (AG)
-
Mail block: The mail transformer ignored configured toAddresses from a pipeline parameter. This is fixed now. (CZ)
-
Fixing BetwixtTransformer does not marshal Collections properly (java.lang.OutOfMemoryError). (AG) Thanks to Enrico Maccias. Fixes 28209.
-
Update qdox to 1.5 and jdt-core to 3.0.0. (AG)
-
Fixing lucene-block samples dependencies. (AG) Thanks to Jorg Heymans. Fixes 30038.
-
Update lucene to 1.4. (AG)
-
Enhanced JMS support by adding a JMSConnectionManager component to the JMS block. This component replaces the JMSConnection component which only supported publish/subscribe messaging and which mixed some concerns. Two abstract classes: AbstractMessageListener and AbstractMessagePublisher should be used as basis for custom publish/subscribe components. (UH)
-
Still in the scratchpad area at the time of this writing, added a CachedSource proxy subclass for Sources that implement TraversableSource and InspectableSource (for instance WebDAVSource). (UH)
-
Added a NekoHTMLGenerator to HTML block. This is a simpler HTML parser than JTidy, which preserves more of the original HTML, primarily just balancing closing tags. (UV)
-
Added support for stripping root elements in the CIncludeTransformer. (TC) Thanks to Leszek Gawron. Fixes 29935.
-
Portal block: Added ManagedCocoonPortlet, to be used together with CocoonServlet or CocoonPortlet. (VG)
-
POI block: cell spanning. (TC) Thanks to Frank Taffelt. Fixes 28015.
-
POI block: processing of tags "vcenter", "hcenter", "monochrome", "draft", "Header", "Footer" in "gmr:PrintInformation". Initial support for "Margins" ("top", "bottom", "left", "right", "header", "footer"). (AG) Fixes 23002.
-
POI block: processing of tags "grid", "orientation and "paper" in "gmr:PrintInformation". (AG) Thanks to Viktor Skladovs. Fixes 23002.
-
Fix JXTemplate generator does not handle format-number(number, '$#,##0.00'). (AG) Fixes 24433.
-
Forms block: Implement setValue method for the upload widget. (JH)
-
Forms block: Handle variants of datatype date correctly (i18n, styling). (JH) Thanks to Colin Adams. Fixes 29881.
-
Update commons-digester to 1.5, commons-betwixt to 0.5, commons-pool to 1.2, commons-dbcp to 1.2.1 and db-ojb to 1.0.0. (AG)
-
Update commons-collections to 3.1. (AG)
-
Fix JXTemplateGenerator eating backslash characters. (AG) Fixes 27133.
-
Add new <jx:comment> tag to the JXTemplate. XML comments are not parsed anymore. See the bug description for a sample. (AG) Fixes 25083.
-
Move commons-logging-1.0.4.jar to lib/core as jcs.jar depends on it. (AG) Thanks to Juan Jose Pablos. Fixes 29369.
-
Apply patch: Cached resources don't have Expires-Header. (AG) Thanks to Jorg Heymans. Fixes 17924.
-
Apply patch: Caching JXTemplateGenerator. (AG) Thanks to Leszek Gawron. Fixes 29752.
-
ResourceReader can now take configuration elements, parameters are deprecated. (VG)
-
Fix byte ranges support in ResourceReader. (VG) Thanks to Litrik De Roy. Fixes 25712.
-
Portal: CocoonPortlet has new configuration parameter, default-session-scope. (VG)
-
Updated commons-logging to 1.0.4 (AG)
-
NamingInputModule provides access to the JNDI context. (VG)
-
Updated quartz to 1.4 (AG)
-
Add configuration support for log4j. (CZ)
-
New Input modules: URLEncodeModule and URLDecodeModule (ATC) Thanks to Leszek Gawron.
-
Apply patch to fix some memory leaks in the tree processor. (CZ) Fixes 27066.
-
Portal: Fix NPE when non-caching pipelines are used for the portal profile. (CZ) Fixes 29373.
-
Portal: Fix transformation of non-external html links (HTMLEventLinkTransformer) (CZ)
-
Portal: Fix problem with bookmarks and CachingURICoplet (CZ) Fixes 28687.
-
A new build property, "include.sources-in-jars", allows to include java source files in jar archives. Useful when using a non-released version to know what sources are used. (SW)
-
Refactor TreeProcessor to avoid constant reloading of sitemap if its modification date is in the future and occasional ECM-related exceptions when a sitemap is reloaded. (SW) Fixes 27249.
-
Tour block: added Java shapes sample. (BD) Thanks to Stavros Kounis. Fixes 28834.
-
Updated Groovy to 1.0-beta5, qdox to 1.4 and util.concurrent to 1.3.4. (AG)
-
Serializers block: Fixed the namespace handling of the XMLSerializer. (TC)
-
Serializers block: Added support for indentation to the XMLSerializer. (TC)
-
Chaperon block: Improvements for Chaperon JSPWiki to xdocs conversion:
- Handle nested bullet lists (number lists already supported)
- If 'name' parameter is specified, use it as title (and add spaces between WikiWords) instead of first section title
- Handle images with alt text
- 'spaceless-filenames' parameter will squash out spaces in relative links
- Fix anchors to use 'id' instead of 'name'
- Emphasize anchors a bit
- selftest.txt tests for lists and tables
- More known issues listed in selftest.txt
-
Added instrumentation support to ContinuationsManager. (VG)
Contributors
This is a list of all people who have contributed to this release, but were not full developers on the project. We thank these people for their contributions.
- Christian Mayrhuber
- Christoph Gaffga
- Colin Adams
- Dave Brondsema
- David Crossley
- Enrico Maccias
- Frank Taffelt
- Jeff Ramsdale
- John Lianoglou
- Johnson Hsu
- Juergen Seitz
- Leo Leonid
- Leszek Gawron
- Litrik De Roy
- Nikolaus Rath
- Nuno Santos
- Ralph Goers
- Rick Tessner
- Rui Alberto L. Gonçalves
- Sal Mangano
- Stavros Kounis
- Viktor Skladovs
- wchao@yahoo.com
Version 2.1.5.1 (July 9 2004)
-
The store/caching system now uses JCS instead of Jisp. (CZ)
-
The persistent store is now really persistent between two application runs. (Fixed a bug in the hash code calculation of the keys). (CZ)
-
Updated Apache JCS to 1.0 dev 20040516 and util.concurrent to 1.3.3. (AG)
-
Extended CocoonServlet to allow any org.apache.avalon.excalibur.logger.LoggerManager to be used. (JH) Thanks to Ralph Goers. Fixes 28860.
-
Deprecated getWidget from the Widget interface in cforms. People should consider using getChild(id) or lookupWidget(path) instead. On the level of the flowscript 'Form' API a semantical distinct getWidget() (notice: no arguments!) is still available to return the actual wrapped Java form instance. (MPO)
-
Fixed jetty-4.2.19.jar compiled for +jdk1.4. The new version can run in 1.3 (AG) Thanks to Juan Jose Pablos. Fixes 28889.
-
Fixed missing escapes of line feeds, carriage returns and tabs, that resulted in invalid Java code. (JH) Thanks to Michal Durdina. Fixes 27871.
-
Updated Joost to 20040330 (AG)
-
RequestListener hook added, that is called before and after a request is processed. (JH) Thanks to Ralph Goers. Fixes 28424.
-
Enable XConfToolTask to modify multiple attributes. See the bug report for description of use. Also enable suppression of comments. (DC) Thanks to Ralph Goers. Fixes 28704.
-
Extended FOM so that cocoon.redirectTo("url", true) will do a global redirect. cocoon.redirectTo("url") will act as before. This enables FOM to redirect when it is called from within cocoon: protocol requests, aggregations, etc. (UV)
-
Moving check on number of specified targets within CocoonBean. This was preventing the processURI(uri, outputStream) method from working. (UV)
-
CForms: Remove custom flow level forms validators. (VG)
-
Added the "tour" block: "Supersonic Tour of Apache Cocoon". Tutorial/example app focused on the Power Trio: Pipelines, Flow, Forms. (BD)
-
XMLResourceBundleFactory was stopping when it encountered the first bundle name that does not have a locale, missing those that might be in one of the other locations. (DC) Thanks to Ralph Goers. Fixes 27878.
-
Moved storage of all flow-related data (viewData, continuation, request, etc) from request attributes to object model entries. This allows a view called by sendPage() to also use flowscript (using request attributes caused the two calls to mix up their data). (SW)
-
Hopefully fixed the source resolving in JSP components finally by using standard Cocoon/Avalon Excalibur source resolving. This allows to use all known protocols and Cocoon pseudo protocols as long as the JSP file is inside the servlet's context. (JH)
-
CForms: Change to generated instance xml <fi:form>. Nested widgets are now grouped in <fi:widgets> and no longer in <fi:children>. This aligns with other container-widgets. (MPO)
-
LinkRewriter: Added support for rewriting URLs which are embedded into the attribute values (example: style attribute with background image URL). Such URLs can be extracted using RE expressions and re-written, leaving rest of the attribute value intact. (VG)
-
Updated Velocity to 1.4 and iText to 1.02b (AG)
-
Added standalone build target "validate-sitemaps". Added standalone build target "validate-stylesheets". (DC)
-
Updated Xindice to 1.1b4, xmldb-api to 20030701, xmldb-common to 20030701 and xmldb-xupdate to 20040205 (AG)
-
Updated Jetty to 4.2.19 (AG)
-
CForms: <fi:styling type="date"/> is not needed (nor supported) anymore, the required information about the datatype and the pattern is now included in the widget instance XML. (BRD)
-
CForms: it is now possible to store arbitrary data with each widget instance by using the new setAttribute and getAttribute methods of the Widget interface. (BRD)
-
Groovy script generator support in BSF block (AG)
-
Renamed validate-set to constraint-set for consistency (the element name is also constraint-set). (JH) Thanks to Derek Hohls.
-
Updated bsf to 2.3.0 (AG)
-
"Fixed" bug 15841 by raising an exception when something is tried to add to elements before attributes. (JH) Fixes 15841.
-
Changed blocks selection handling to allow more intuitive include.block.blockname syntax in (local.)blocks.properties. Old syntax exclude.block.blockname is still supported. (JH)
-
Enabled use of nested sitemap variables, e.g. {request-param:{1}}. (UV)
-
Updated antlr to 2.7.3 (AG)
-
Deprecated Tokenizer and the methods count(), matchStrings(), replaceTokens() and both split() in StringUtils. The functionality of all this was replaced in favor of Apache commons-lang lib. They will be removed in Cocoon 2.2 (AG)
-
Updated batik to 1.5.1, db-ojb to 1.0RC6 (AG)
-
Removed xmlform and jxforms blocks as confirmed by a users poll. (TC)
-
Removed precept block. Was dead code. (TC)
-
Updated jdtcore to 2.1.3, update castor-xml to 0.9.5.3 (AG)
-
DefaultIncludeCacheManager did not release xml-serializer under some circumstances. (CZ) Thanks to Corin Moss. Fixes 27764.
-
DOMFactory can now create a document element. (CZ) Thanks to Peter Brant. Fixes 27681.
-
Databases: The xml-encoding for the SQLTransformer is now configurable. (CZ)
-
Build System: New property "loglevel" that can be used in the patch files. (CZ) Thanks to Andreas Hartmann. Fixes 27217.
-
Portal: Fix problems with minimizing/maximizing of portlets. (CZ) Thanks to Michal Durdina. Fixes 27518.
-
Portal: Fix problems with the portal block and using the CLI. (CZ) Thanks to Simon Mieth. Fixes 26566.
-
Portal: Add default PropertyManagerService implementation (CZ) Thanks to Michal Durdina. Fixes 27658.
-
Portal: Fix synchronization problem with JSR-168 portlets in IncludingHTMLSerializer. (CZ) Thanks to Michal Durdina. Fixes 27657.
-
Improvement for AbstractReader: Don't wrap an already buffered stream. (CZ) Thanks to Gunnar Brand. Fixes 27602.
-
ForwardEnvironmentWrapper delegates isResponseModified/setResponseIsNotModified to wrapped environment. (CZ) Thanks to Marco Rolappe. Fixes 25437.
-
CForms: Change the syntax for repeater row identity handling. (JH) Fixes 27600.
-
An internal redirect is now handled the same way as an external redirect would be handled. This includes that the error handler of the called pipeline is invoked in case of an error. (CZ)
-
Set the default encoding for the Portlet Environment. (CZ) Fixes 27188.
-
Move XSP into an own block. (SMS)
-
Licenses changed to ASF 2.0 in all source files which had a license, using the ReplaceLicense tool from the committers CVS module. (BD)
-
Ant task (correctLinefeed) that corrects linefeed characters according to our standard (LF). (RP)
-
Apples use the new CocoonForms classes (RP)
-
Petstore samples use the new CocoonForms names (RP)
-
New Ant task ("woody2CocoonForms-renaming") that updates namespaces, sitemap components and flowscript functions (details see tools/target/upgrade-build.xml) (RP)
-
Renaming Woody to CocoonForms
- The Woody block (src/blocks/woody) has moved into the new Cocoon Forms block (src/blocks/forms).
- new namespaces:
- from xmlns:wd="http://apache.org/cocoon/woody/definition/1.0" to xmlns:fd="http://apache.org/cocoon/forms/1.0#definition"
- from xmlns:wb="http://apache.org/cocoon/woody/binding/1.0" to xmlns:fb="http://apache.org/cocoon/forms/1.0#binding"
- from xmlns:wi="http://apache.org/cocoon/woody/instance/1.0" to xmlns:fi="http://apache.org/cocoon/forms/1.0#instance"
- from xmlns:wt="http://apache.org/cocoon/woody/template/1.0" to xmlns:ft="http://apache.org/cocoon/forms/1.0#template"
- Java packages moved from org.apache.cocoon.woody to org.apache.cocoon.forms
-
Updated Velocity engine to 1.4-rc1 (AG)
-
Fix namespace handling in FilterTransformer. (JH) Fixes 27301.
-
Added grayscaling and color transformation to the ImageReader. (JH) Thanks to Peter Horsfield. Fixes 27020.
-
LinkStatusGenerator now handles also links with a specified charset. (JH) Thanks to Marco Rolappe. Fixes 26851.
-
Avoid "CLOBs" when indexing XML without superfluous whitespace (Lucene). (JH) Thanks to Philipp Matthias Hahn. Fixes 25934.
-
Allow streaming of uploaded files into a pipeline using StreamGenerator. (JH) Thanks to Gernot Koller. Fixes 25594.
-
Avoid accumulating of addresses and attachements in SendMailTransformer, when sending multiple mails, i.e. multiple sendmail elements at once. (JH) Thanks to Rui Alberto L. Gonçalves. Fixes 25483.
-
EncodeURLTransformer no longer creates a session. (JH) Thanks to Marco Rolappe. Fixes 25403.
-
Added additional property <column-case> to the SQLTransformer with the possible values "preserve", "uppercase", and "lowercase". (JH) Thanks to Steve Krulewitz. Fixes 22400.
-
Fixed path separator handling in cocoon.bat/.sh and Loader.java. (JH) Thanks to Georg Ragaller. Fixes 27254.
-
Fixed duplicate startDocument event in BetwixtTransformer. (JH) Thanks to Oscar Picasso. Fixes 27456.
-
Updated POI to 2.5-final-20040302 (AG)
-
Pass notification object to coplet error pipelines so it can react on it. (CZ)
-
Updated xalan to 2.6.0 (AG) Thanks to Leszek Gawron. Fixes 24457.
-
CForms: Support for multiple unique-row-id in a repeater (AG)
-
CForms: Aggregate field supports both directions (split / combine), and arbitrary types (not strings only). (VG)
-
CForms: Added String() function. Converts argument to string value. (VG)
-
Update Avalon Excalibur packages to released versions. (CZ)
-
Updated joost to 20031219, qdox to 1.3 and quartz to 1.3.2 (AG)
-
Updated xerces to 2.6.2 (AG)
-
Make the current sitemap service manager available through the component context. (CZ)
-
Portal block: Add portlet environment to build JSR 168 portlets with Cocoon. This is a contribution by Alex Rudnev (alex.rudnev@dc.gov) and Vadim Gritsenko (vadim.gritsenko@dc.gov). (VG)
-
Adding basket coplet to the portal. (CZ)
-
Patch for allowing empty values in configuration of defaults input module. (CZ) Thanks to Alfred.Nathaniel. Fixes 25093.
-
Patch for disposing components in the properties in xml file module. (CZ) Thanks to Marco Rolappe. Fixes 26896.
-
Updated commons-httpclient to 2.0-final (AG)
-
Updated jdtcore to 2.1.2, and Ant to 1.6.1 (AG)
-
Patch for any elemens inside a coplet:content element and not just only text. (CZ) Thanks to Jon Evans. Fixes 26896.
-
Adding SAX recording to AbstractSAXTransformer. (CZ)
-
Remove non-FOM flow classes and system.js (VG)
Contributors
This is a list of all people who have contributed to this release, but were not full developers on the project. We thank these people for their contributions.
- Alfred.Nathaniel
- Andreas Hartmann
- Corin Moss
- Derek Hohls
- Georg Ragaller
- Gernot Koller
- Oscar Picasso
- Peter Brant
- Peter Horsfield
- Steve Krulewitz
Version 2.1.4 (February 12 2004)
-
Updated iText to 1.02 (AG)
-
Woody block: every widget can now have a validator. This allows for example repeaters to perform inter-row validation or overall form-level validation. (SW)
-
Woody block: added support for rich text editing using InteractiveTools' HTMLArea. (UC)
-
ResourceReader: Is now configurable as well. All parameters can be defined during configuration of the reader. Fixed also a minor bug in the last-modified detection. (CZ)
-
OJB-Block: Added our own OJB ConnectionFactory which uses the DataSources configured in cocoon.xconf (GP)
-
Updated POI to 2.0-final (AG)
-
Fixing memory leak in the cocoon protocol. (CZ) Thanks to Michael Gerzabek. Fixes 26186.
-
JSPReader: The output encoding of the reader is now configurable. (JH) Thanks to Marco Rolappe. Fixes 14327.
-
woody.js has been removed. Please use woody2.js instead. (VG)
-
Resurrected the Slide block and made it to work with current developement version of Slide (2.0-b1). Complete revamping of the Slide sample admin app. (UH) Fixes 25356.
-
Allow the Authentication Framework to invoke a pipeline during logout (CZ) Thanks to Ralph Goers. Fixes 26450.
-
Updated commons-collections to version 3.0 (AG)
-
First version of the JSR-168 support in the portal engine. (CZ)
-
Updated commons-httpclient to the version 2.0-RC3 (AG)
-
Renamed JspGenerator to JSPGenerator to match JSPEngine and JSPReader naming convention. (UH)
-
JSPEngineImpl incorrectly converts bytes to characters. (UH) Thanks to Johan Stuyts. Fixes 25694.
-
Woody expression manager supports registration of custom functions (see cocoon.xconf). Added IsNull function. (VG)
-
Updated Jakarta ORO to the version 2.0.8. (AG)
-
Updated Lucene to 1.3 final. (AG)
-
Build fails on windows without cygwin. (AG) Thanks to Karel Vervaeke. Fixes 25664.
-
Updated Ant to 1.6.0. (AG)
-
Remove dependencies to Xalan (from portal-fw, authentication-fw, session-fw and core) (CZ)
-
Portal-Engine: Added some new samples (for inter-coplet communication, cleaned up the sample, fixed some bugs and added some new components for developing own coplets. (CZ)
-
Changed semantics on the cforms binding. Added a @direction (which replaces the @read-only) and a @lenient attribute on all binding implementations in the pool. (MPO)
-
Fix NPE error when pointed tag is empty in xsp-session-fw:getxml. Applying patch from ltrillaud@jouve.fr (ltrillaud@jouve.fr). (AG) Thanks to Laurent Trillaud.
-
ResourceExistsSelector now works the same way as ResourceExistsAction does. It can now detect existence of any Cocoon resource, not only files in context. Default value for prefix was changed from '/' to ''. For old behavior, use prefix 'context://'. (VG)
-
Fixed and updated the stores and made them instrumentable to follow their size and the number of hits and missed. (SW)
-
New PipelineUtil class that extends the features or cocoon.processPipelineTo() to SAX and DOM outputs. (SW)
-
The "cocoon" object in flowscript has two new methods that allow Java classes instanciated by a flowscript to access e.g. request, response and components without requiring a dependency on the "FOM_Cocoon" class.
cocoon.createObject(Class) creates an object and honors the various Avalon lifecycle interfaces implemented by an object.
cocoon.disposeObject(Object) disposes an object if needed. (SW) -
Reworked I18nTransformer implementation to use new version of XMLResourceBundle. (VG)
-
Reworked XMLResourceBundle implementation. Now it supports only XML bundles with fixed syntax (same as for I18nTransformer dictionaries), and instead of XPath keys uses message keys (which is faster). Returned resources now are instances of ParamSaxBuffer class, and not DOM nodes. (VG)
-
Modified BundleFactory interface to return Bundle instead of Component. (VG)
-
Cocoon Forms (Woody) selection lists now allow empty value (which is translated to the null object) (VG)
-
Deprecate MirrorRecorder. It will be removed starting with Cocoon 2.2 (VG)
-
In XMLDBTransformer, create operation now is able to create collections. It will create collection if oid attribute value ends with '/', otherwise it will work as before (creates XML resource) (VG)
-
Added optional collection attribute on <xmldb:query/> element of XMLDBTransformer. This attribute specifies collection name, relative to the transformer's base collection, which is used as base collection for current create/delete/update operation (VG)
-
Remove deprecated XMLDB generators from the sitemap (VG)
-
Do not double decode URI in CocoonServlet (VG) Fixes 25132.
-
Resurrected the XMLDB samples including XIndice 1.1b1 in Cocoon. (JH)
-
I18n transformer does not support old configuration syntax anymore (parameters catalogue-name, catalogue-location). Use <catalogues/> element instead. (VG)
-
I18n transformer now works with translations containing elements with attributes. (VG)
-
Update libs Xerces to 2.6.0 and xml-apis.jar. (AG)
-
Woody: new double-list styling for MultivalueField. (SW)
-
New MountTableMatcher to define "mount tables" that allow external directories to be mounted in a sitemap without requiring to modify the sitemap. It's use has been included in the samples sitemap, thus allowing mounts that surivive a "build clean webapp". (SW)
-
Woody: added rendering of <wd:help> popup panel on a "?" icon. (SW)
-
Woody: new upload widget. This required some modification on multipart.Part objects that can now survice the end of processing of the current request. (SW)
-
Updated Entity Resolver from pre-release to official xml-commons-resolver-1.1 release. (DC)
-
NetUtils deparameterize() and parameterize() extended to support multivalue parameters. Multivalue parameters are returned as String arrays. (VG)
-
Add cocoon.sendStatus([Number] sc) and cocoon.response.setStatus([Number] sc) to FOM. (UH)
-
Updated Jetty to 4.2.14 (AG)
-
Disable accessing files outside the context via the context protocol. (CZ) Fixes 24093.
Contributors
This is a list of all people who have contributed to this release, but were not full developers on the project. We thank these people for their contributions.
- Karel Vervaeke
- Laurent Trillaud
- Michael Gerzabek
Version 2.1.3 (November 13 2003)
-
Complete overhaul of the Petstore sample. Adding Woody form processing Flow, and dealing with persistent data. Implementation of missing or unfinished parts. See the the bug report and its attached notes. (DC) Thanks to Leo Leonid. Fixes 24463.
-
The CachingPointProcessingPipeline now uses Parameters instead of an own configuration scheme. See the demo sitemap for the changed configuration. (CZ)
-
XMLByteStreamCompiler now handles also text nodes longer than 32 k. (JH) Thanks to Simon Mieth. Fixes 23299.
-
Reducing setDocumentLocator calls in JXTemplateGenerator and JXFormsGenerator. (CZ) Thanks to Sam Coward. Fixes 23538.
-
sitemap-viewer added to the scratchpad samples (BD) Thanks to Jelle Alten. Fixes 24294.
-
Fix HSSFSerializer Bug: Same cell definitions blows document. Applying patch from Grigorios Merenidis (Grigorios.Merenidis@Dresdner-Bank.com). (AG) Thanks to Grigorios Merenidis. Fixes 19638.
-
SQLTransformer: Correcting handling of XML data with XML declarations. (CZ) Thanks to Andrzej Taramina. Fixes 24326.
-
Fixing threading problems in the ExtendedComponentSelector. (CZ) Thanks to Volker Schmitt.
-
Fixing namespace handling in the send-mail transformer. (CZ) Thanks to Martin Holz. Fixes 24409.
-
Fixing precompilation of the XSPs for the CLI. (CZ) Thanks to Andrea Poeschl.
-
Woody: in the form definition, for widgets that have child widgets, those child widgets should now be embedded inside a wd:widgets element. Practical update information can be found in the wiki. (BRD)
-
Updated Xalan to 2.5.2 (AG)
-
Woody: did some cleanup of the FormHandler interface: moved it to the event subpackage, made it handle all types of WidgetEvents (there's an AbstractFormHandler which splits ActionEvents from ValueChangedEvents). Removed the deprecated RepeaterHandler class, and the unused CarSelectorHandler class. (BRD)
-
Serializers now can optionally implement the SitemapModelComponent interface, meaning then can be given a "src" attribute and parameters using <map:parameter>. (SW)
-
Sitemap components (matchers, actions, generators, etc) can know the location of their use in the sitemap unsing a special parameter named Constants.SITEMAP_PARAMETERS_LOCATION. (SW)
-
Closing some memory leaks in the source and component handling. (CZ) Fixes 23625.
-
Cocoon Protocol: Fixed a bug that broke the environment handling in some cases for internal pipeline calls. (This should also fix bug #15843). (CZ) Thanks to Sam Coward. Fixes 22377.
-
HTMLGenerator: fixed NullPointerException in case the "HTML" file contained an XML declaration. (BRD) Thanks to Alfred Fuchs. Fixes 23648.
-
Fixed ResolverImplTestCase so that the "test" build target does not fail (it still depends on the deprecated block, though). (UC)
-
Woody: fixed a bug causing an endless loop during validation of a field if during the validation of the field the value of the field itself was again requested. (BRD)
-
Patched SQLTransformer to use only one connection. (BRD) Thanks to Daniel Fagerstrom. Fixes 16718.
-
Patch to XMLDBTransformer to generate a key on create if it is not provided (GR) Thanks to Micheal Homeijer. Fixes 14845.
-
New JavaScriptBinding for Woody, which allows writing specific binding strategies with two JavaScript snippets (one for load, one for save). (SW)
-
TraversableGenerators can now be used with plain resources too (not only collections). XPathTraversableGenerator has been revamped in the XML recognition pattern (using mime type mapping too). While at it, a bug regarding non-existent sources has been fixed. (GR) Thanks to Unico Hommes. Fixes 23575.
-
Update lib excalibur-i18n to 1.1, update iText to 1.01 (AG)
-
Add initial support for IE in linotype. (GH) Thanks to Klaus Bertram. Fixes 22813.
-
Woody block: New integer Datatype. (AG)
-
SimpleFormTransformer: multiple values not repeatedly inserted anymore, value is consumed instead. Add repeater tag. Make transformer inherit from AbstractSAXTransformer. Update examples to show basic repeat tag usage. (CH)
Contributors
This is a list of all people who have contributed to this release, but were not full developers on the project. We thank these people for their contributions.
- Alfred Fuchs
- Andrea Poeschl
- Andrzej Taramina
- Daniel Fagerstrom
- Grigorios Merenidis
- Jelle Alten
- Klaus Bertram
- Micheal Homeijer
- Sam Coward
- Unico Hommes
- Volker Schmitt
Version 2.1.2 (September 30 2003)
-
Fix default namespace handling in Xscript variables. (VG) Fixes 23516.
-
OJB block: Object Relational mapping tool integration. (AG)
-
Slop block: New YAPT sample, lightweight presentation tool. (BD)
-
Fixing release of Source in the JXTemplateGenerator. (CZ) Thanks to Volker Schmitt. Fixes 23171.
-
Update lib commons-lang to 2.0, iText to 1.00 (AG)
-
New event-handling system for Woody. Value change and action event handlers can be attached respectively to field and action widgets, and event handlers can be both Java classes or JavaScript snippets in the form definition.
New <wd:repeater-action> widget to automatically handle rows addition and deletion on repeaters (a very common need).
New <wd:submit> widget to distinguish between actions (act on the form and redisplay it) and submits that terminate the form.
Ability to trigger form submit on any widget value change (including inputs, popups, etc) to trigger server-side event handlers through client-side interaction.
Rewriting of the Woody/FlowScript integration to be more simple. (SW) -
Update libs Xerces to 2.5.0 and Ant to 1.5.4 (AG)
-
Fixed internationalization support for HSSFSerializer by setting also the output encoding in the Workbook to UTF-16. (JH) Thanks to Yury Mikhienko. Fixes 23208.
-
Fixed issues the cron block had when cocoon (or the servlet container ?) allows reloads. (GP)
-
Removed deprecated XPathProcessor and implementations. These classes where moved into the Excalibur XMLUtil package. Removed Jaxen libraries used by JaxenProcessorImpl. (VG)
-
Replaced the deprecated LogkitManager stuff with its LoggerManager counterpart. This is Cocoon internal and should not affect components as long as you don't use LogKitManageable interface. (JH) Fixes 21730.
-
Woody binding framework: fixed a problem with the deletion of rows by the repeater binding, whereby not all deleted rows where removed from the bean or XML model. (BRD)
-
Errors handled by map:handle-errors are now logged to the logcategory "sitemap.handled-errors". Previously they weren't logged. (BRD)
Contributors
This is a list of all people who have contributed to this release, but were not full developers on the project. We thank these people for their contributions.
- Yury Mikhienko
Version 2.1.1 (September 05 2003)
-
Moved scratchpad into an own block. This allows that code in the scratchpad can depend on other blocks. The scratchpad can now also have own configurations. (CZ)
-
Extended the build system. If one block depends on the other it can now also use the libraries of the other block. This avoids moving the libs to the lib/optional directory. (CZ)
-
cron block added (GP)
-
Updated Jakarta Regexp library to the version 1.3 (VG)
-
Applying patch for adding new session-fw logicsheet that allows access to a session context from with xsp. (CZ) Thanks to Antonio Gallardo. Fixes 13070.
-
Fixed a StackOverflowError in errors2html.xslt that could occur with error pages containing very long stack traces. (BRD)
-
Woody: renamed the button widget to action widget. If you were using this widget, you will need to update your form definition files. (BRD)
-
Adding new RequestDataStore component that can be used as a replacement for the component marker interfaces RequestLifeCycleComponent and GlobalRequestLifeCycleComponent obsolete. (CZ)
-
Adding contributions to the portal from Friedrich Klenner (friedrich.klenner@rzb.at), Gerald Kahrer (gerald.kahrer@rizit.at) and Gernot Koller (gernot.koller@rizit.at): caching uri coplet, application coplet, proxy transformer, proxy reader and link transformer. (CZ)
-
Changed logkit attribute of <logging in cli.xconf to be relative to context dir, rather than CLI invocation dir. (UV)
-
Added include/exclude feature to CLI to allow fine-tuning of crawling of a site. (UV)
-
Upgraded excalibur-event package so that Tomcat shutdown and continuations cleanup now works properly. (BRD) Fixes 18131.
-
Add a session-context input module to the session framework to retrieve information from a session context in the sitemap. (CZ)
-
Applying patch for processing http.nonProxyHosts in WebServiceProxyGenerator. (CZ) Thanks to Peter Ross. Fixes 21399.
-
POI block: fixed formula support. If no ValueType attribute is set on <gmr:Cell/>, the cell content will be interpreted as formula. (JH) Thanks to Neil Bacon. Fixes 22574.
-
Applying patch for using 'host' in the logging patterns. (CZ) Thanks to Unico Hommes. Fixes 21848.
-
Lucene block: LuceneIndexTransformer configuration fixed. (JH) Thanks to Conal Tuohy. Fixes 22498.
-
Applying patch from Renaud Bruyeron (bruyeron@fullsix.com) that fixes the prematurely closing of the connection causing in the SQL Transformer. (CZ) Fixes 12173.
-
Midi block: added transposition and inversion stylesheets and samples. (JH) Thanks to Mark Leicester. Fixes 22479.
-
Rewrite handling of internal-redirects (i.e. redirects to "cocoon:" URLs). Previously, internal redirects where not handled for internal requests (i.e. sitemap source). This bug prevented among other cases the use of flow-driven pages enclosed in an aggregation. (SW)
-
The jars in /lib/local are used during compilation again. (CZ)
-
Update the I18nTransformer so that it also accepts the 2.0 namespace. This ensures backwards compatibility for 2.0 applications. Additionally, attributes on "i18n:" elements can now be in the default namespace (meaning we can now write <i8n:text key="foo"> instead of <i18n:text i18n:key="foo">) (SW) Fixes 20445.
-
Fix in the SVG serializer: if setDocumentLocator wasn't called on the serializer (which can happen if you have e.g. an XSLT transformer in the pipeline), then the base URI for the SVG document wasn't set which could cause exceptions. Now it is set to http://localhost/ in such cases. Also fixed a problem with the document locator not being reset between subsequent retrievals of the serializer from the pool. (BRD)
-
Fix Jisp based persistent store: close database files on Cocoon shutdown and re-use existing database and index files on startup. (VG)
-
Views are now always loaded before resources, ensuring proper call of views from resources. Redeclaring a component (e.g. file generator) with no "label" attribute was wrongly inheriting view labels from the same component in the parent sitemap. (SW) Fixes 22239.
Contributors
This is a list of all people who have contributed to this release, but were not full developers on the project. We thank these people for their contributions.
- Antonio Gallardo
- Conal Tuohy
- Mark Leicester
- Peter Ross
Version 2.1 (August 12 2003)
-
Midi block refactoring applied. (JH) Thanks to Mark Leicester. Fixes 22288.
-
Patch for allowing to specify a cocoon-view for internal requests in the query string. (CZ) Thanks to Unico Hommes. Fixes 22270.
-
Instrumentation support: Updated client libraries to make instrumentation work again. Added a target "start-instrumentation-client" to Cocoon's ant files and removed "runclient" shell scripts. (JH) Fixes 19839.
-
XMLDBTransformer: retrieving auto-generated resource id. (JH) Thanks to Nicolas Maisonneuve. Fixes 22064.
-
midi block added (BD) Thanks to Mark Leicester.
-
slop block added (Simple Line Oriented Parser) (BD)
-
LDAPTransformer now handles multiple attribute values. The filter element is also configurable via a sitemap parameter. (JH) Thanks to Unico Hommes. Fixes 21931, 22173.
-
LDAPTransformer: Added attribute modification methods: add, replace, modify, append. (JH) Thanks to Yury Mikhienko. Fixes 20033, 22042.
-
IMPORTANT: Flow: cleaned up the situation with regards to the "uri" argument to the sendPage, sendPageAndWait, and processPipelineTo functions. URI's starting with a slash are resolved against the root sitemap, URI's not starting with a slash are resolved against the current sitemap. Specifying a scheme is not allowed. (BRD)
-
I18nTransformer: if content of i18n:text is empty and translation is not found, use untranslated-text. (BRD) Fixes 19841.
-
ESQL: explicitly release database resources. (CH) Thanks to Gildas Guillemot. Fixes 22050.
-
Paginator now caches dynamic pagesheet correctly. (CZ) Thanks to Frank Taffelt. Fixes 21213.
-
Configuration logkit.xconf can now be read from any location. (CZ)
-
Fix the ignoreErrors handling in the cinclude transformer. (CZ)
Contributors
This is a list of all people who have contributed to this release, but were not full developers on the project. We thank these people for their contributions.
- Gildas Guillemot
- Nicolas Maisonneuve
Version 2.1rc1 (July 29 2003)
-
Updated FOP to the latest released version, 0.20.5. (VG)
-
Added delete capabilities to the SourceWritingTransformer. (GR)
-
Add a defaultContentType parameter to StreamGenerator, to comply with misbehaving clients. (GR) Thanks to Guido Casper. Fixes 21881.
-
Add a new set of WebDAV samples, with the capability of serving WebDAV content straight from Cocoon. (GR) Thanks to Guido Casper. Fixes 21778.
-
Various fixes and enhancements to Lucene search. Propagate the lucene:* elements to the result tree and add "elapsed-time" attribute, so now possible to transform the results into a useful report about indexing. Fix "incremental" indexing. (DC) Thanks to Conal Tuohy. Fixes 21557.
-
Added CLOB support in SQLTransformer. (GR)
-
Added an (unstable) HTMLTransformer to the html block, to parse and tidy an XML containing escaped (and possibly incorrect) HTML (GR)
-
Added URL encoding of user/password in the WebDAV source (webdav://user:password@host/path) (GR)
-
Decouple core XSP logicsheet from database classes to allow XSP deployment without excalibur datasource JAR file. If your XSP pages use datasources directly (and not through ESQL logicsheet), add xsp:include. (VG)
-
The authentication framework now uses a configurable component to try to authenticate a user. This allows to drop in own authentication services or e.g. the servlet authentication mechanism. (CZ)
-
Made JSPs working in Resin that don't end on *.jsp. (JH) Thanks to Ryder Rishel. Fixes 4934.
-
All Reader accessing Avalon components now extend the ServiceableReader instead of deprecated ComposerReader. It pertains the JSPReader, the DatabaseReader and the AxisRPCReader. (JH)
-
Added a WebDAV block, with an initial implementation of a modifiable and traversable WebDAV source. (GR)
-
Added a DirectoryGenerator implementation on scratchpad working on any Traversable Source. (GR)
-
Adding global request lifecycle component. (CZ)
-
The cache used by the caching processing pipeline is now configurable allowing to use different caches in different pipelines. (CZ)
-
The cache uses now a configured store. This allows to use differently configured caches at the same time. (CZ)
-
Reverted the encoding changes in the JSP engine. The fix should be done in the JSPReader, that already contains a TODO. (JH) Fixes 14327.
-
Web3: The stylesheets in the examples use Xalan as transformer and work correctly now as XSLTC has problems with the 'rfc' namespace. (RP)
-
Changed namespace for Web3RfcTransformer to 'http://apache.org/cocoon/Web3-Rfc/1.0'. (RP)
-
ParanoidCocoonServlet can optionally configured with a file containing the classpath. (CZ)
-
Configuration cocoon.xconf can now be read from any location. (CZ)
-
Flow view can now be in "internal-only" pipelines. (SW)
-
Updated FOP to 0.20.5rc3a. (JH)
-
Moved WebServiceProxyGenerator + some samples into the proxy block. (JH)
-
Updated common-httpclient from CVS checkout of 2003-02-10 to 2.0 beta 2. This hopefully fixes also the bug. Moved it into core because of dependencies. (JH) Fixes 12216.
-
Refactored the WebServiceProxyGenerator: "host parameter is null" fixed, replaced deprecated stuff, removed all work arounds (hopefully no longer needed), removed the buggy "<?xml" test, replaced getResponseBodyAsString() with getResponseBody() (but encoding issue is still not fixed). (JH) Thanks to Peter Ross. Fixes 21340.
-
Applied patch for implementing exists for the xmldb source. (CZ) Thanks to Tim Goodwin. Fixes 20115.
Contributors
This is a list of all people who have contributed to this release, but were not full developers on the project. We thank these people for their contributions.
- Guido Casper
- Ryder Rishel
- Tim Goodwin
Version 2.1m3 (July 5 2003)
-
Refactored the XPathDirectoryGenerator: provides all the functionality of DirectoryGenerator now, parameter xpath added replacing the xpointer-ish syntax, additional parameter xmlFiles for specifying a pattern for XML files, removed docid attribute on dir:xpath + some minor fixes. (JH)
-
Added merged region support to HSSF (= Excel) Serializer. (BRD) Thanks to Danny Mui. Fixes 15150.
-
Updated POI from 1.7.0-dev to 1.10.0-dev. Patched code accordingly. Fixed usage of deprecated methods. (JH) Thanks to Alfred Nathaniel. Fixes 21248.
-
Web3: Fix extra close element on connectivity loss. (CH) Thanks to Michael Gerzabek.
-
SimpleFormTransformer: Make complete form protectable, ability to use more than one transformation with different fixed attributes, optionally let error elements pass, configure prefix, suffix, separator at configuration time, add optional use of form name, formating. (CH)
-
Added feature to allow a database action (i.e. delete) not to fail if no row was affected. Formating. Use toString() to convert to String rather than cast. (CH)
-
Added SimpleSelector that operates just on Strings. Useful in conjunction with a sitemap variable or input module. (CH)
-
Fixed SchematronValidator.evalRule() in xmlforms block: create a relative context instead of an absolute one. This allows to refer to another form field by using relative paths (../password) instead of choosing a common root. (JH) Thanks to Johan Stuyts. Fixes 19104.
-
Fixed return of different DirValidity objects on multiple calls on getValidity() in the DirectoryGenerator. (JH) Thanks to Wolfgang Kowarschick. Fixes 20682.
-
The DTDs are now completely handled by the catalog entity resolver. The old copies of DTDs at xdocs/dtd/ have been removed. If you are editing the Cocoon xdocs with an xml editor, then point it to the WEB-INF/entities/catalog or catalog.xcat file. If your editor cannot utilise an entity resolver, then get a better editor. (DC)
-
Added support for permanent redirects in <map:redirect-to> (UV)
-
Fixed some caching (added missing parameters and changed algorithm for cache key generation) and logging issues in the DirectoryGenerator. Fixed the root pattern handling (if not matching directory found leave out the ancestors). Fixed empty src attribute handling. (JH)
-
Upgraded to new Axis 1.1 release (GP)
-
Adding concept of parent-aware components, making e.g. the usage of selectors with a component manager hierarchy much easier. (CZ)
-
Added/fixed internationalization support for HSSFSerializer by setting the output encoding hardcoded to UTF-16. It is obviously only a hack, but so it is at least usable for more people. (JH) Thanks to Maciek Kaminski. Fixes 15365.
-
Fixed usage of removed method XSPUtil.include() in ESQL logicsheet <esql:get-xml/> (JH) Thanks to Alfred Nathaniel. Fixes 20658.
-
Fixed NPE in SQLTransformer.serializeData() (JH) Thanks to Tony Culshaw. Fixes 14977.
-
Added cHTML/iMode "Hello World!" sample (provided by Arje Cahn) (JH) Thanks to Arje Cahn. Fixes 20477.
-
Upgraded Xalan (includes XSLTC) from a CVS snapshot (20030506) to version 2.5.1. (BRD)
-
Updated ParanoidCocoonServlet, which is now an easy solution to the well-known endorsed library problem (incompatible version of Xalan in Cocoon and in JDK 1.4+). (SW)
-
Encoding-related change to the JSP engine: the response charset is now retrieved from the Content-Type, and if not found ISO-8859-1 is used as default (previously UTF-8 was the default). (DC) Fixes 14327.
-
The deprecated source implementations are now wrapped by proxies. Modified patch from Jens Lorenz (jens.lorenz@interface-business.de) (CZ) Fixes 11533.
-
For non-existent files XSPUtil.relativeFilename() now throws FileNotFoundException instead of NPE. (JH) Fixes 15302.
-
Getter for jxcontext_ property added for subclassing reasons. (JH) Thanks to Robert E. Parrott. Fixes 13559.
-
Fixing incorrect caching behaviour when internal pipelines are used. (CZ) Thanks to Alex Romayev. Fixes 17623.
-
Command-line will no longer add a 'null' suffix to files with an unknown MIME type. (JT)
-
The object model and the components stored in the object model are now available via the component context. (CZ)
-
Logicsheets: Changed scope of and renamed temporary 'soap:call' XScript variable in <soap:call>. Fixed compilation problem with <xscript-get as="object"> expression. (VG) Thanks to Hugh Leather. Fixes 20159.
-
I18nTransformer: support a currency attribute on i18n:number. This allows to take the currency symbol and formatting from one locale and the decimal and grouping separation symbols from another locale. (BRD) Thanks to Michael Enke. Fixes 19894.
-
Fixed synchronisation problem in I18nTransformer when retrieving catalogues. (BRD) Thanks to Michael Enke. Fixes 19881.
-
Improved XPointer support in the XIncludeTransformer. Meanwhile improved the way xml:base attributes are handled, added support for the xi:fallback element, do XInclude processing on included content, and added XInclude samples. (BRD) Fixes 19423, 15525.
-
Dispose the parent Component Manager if it implements Disposable. Happens when the Cocoon servlet shuts down or when Cocoon is reloaded. (BRD) Thanks to Unico Hommes. Fixes 15312.
Contributors
This is a list of all people who have contributed to this release, but were not full developers on the project. We thank these people for their contributions.
- Alex Romayev
- Arje Cahn
- Danny Mui
- Hugh Leather
- Maciek Kaminski
- Michael Enke
- Robert E. Parrott
- Tony Culshaw
- Wolfgang Kowarschick
Version 2.1m2 (May 20 2003)
-
Changed namespace for the RequestGenerator to 'http://apache.org/cocoon/request/2.0'. (SMS)
-
Changed namespace for XMLForm components to 'http://apache.org/cocoon/xmlform/1.0'. (SMS)
-
Extended the ExtendedXLinkPipe to be more extensible. Prepared is html and p3p. (SMS) Thanks to Torsten Knodt. Fixes 19786.
-
Patch velocity generator, so that the scope of objects can be specified (request, session, sitemap). (SMS) Thanks to Michael Homeijer. Fixes 14986.
-
Fixed namespace handling in XMLDBSource. (GR) Thanks to Ciro Mondueri. Fixes 19978.
-
Added XHTML 1.1 DTD to the entity catalog. Added XHTML 1.1 serializer into the sitemap. Explained different XHTML 1.0 serializer options. (VG) Fixes 16003.
-
Enable the LDAPTransformer to obtain attribute values from LDAP using various encoding schemes for stored values. (SMS) Thanks to Yury Mikhienko. Fixes 18466.
-
Cleaned up MIMEUtils. (SMS) Thanks to Torsten Knodt. Fixes 19885.
-
The DirectoryGenerator is now cacheable. A new "refreshDelay" parameter defines the delay between two checks on the filesystem for modified files. (SW)
-
Added STX block. (alternative to XSLT) (TC) Thanks to Daniel Fagerstrom. Fixes 19772.
-
Throw InvalidContinuationException when flow continuation is not found or not valid, instead of forwarding to hard-coded 'invalidContinuation' page. (VG) Thanks to Tony Collen. Fixes 19526.
-
Fixing NPE in JspEngineImpl. (CZ) Fixes 14564.
-
Obtain handler and application name from parameters for internal requests if handler could not be resolved from the request object. (CZ) Fixes 14117.
-
Delaying getting of the output stream from the http response until it is really needed. (CZ) Fixes 17612.
-
Adding new portal framework. (CZ)
-
Updated Xalan to a CVS snapshot (2003-05-06), fixes bug with incorrect namespaces in endElement SAX events. (BRD)
-
QDox block added, parses Java source code and javadoc tags, includes samples. (BD) Thanks to Bart Guijt. Fixes 16523.
-
Fixing the problem with eating spaces in custom transformers. (CZ) Fixes 19683.
-
Hello World sample added for the SWF block (although page2swf.xsl contains incomplete font definition). (BD) Thanks to Joerg Heinicke. Fixes 19619.
-
Redesign/modularizing the authentication and session framework. (CZ)
-
Added 304 support to cacheable pipelines (GR) Thanks to Miles Elam. Fixes 19206.
-
DTD comment events are now dropped after parsing by default. (BRD) Fixes 17763.
-
When an exception occured in a pipeline containing an XSL, the contents of the pipeline was appended to the error page. Now this only happens anymore when the incremental-processing of Xalan is enabled (which is unavoidable for now). (BRD) Fixes 13186.
-
Disabled incremental-processing of Xalan by default. (BRD) Fixes 13186.
-
standalone-demo build target added (BD)
-
cacheable.xsp sample reworked, did not work in M1 (BD)
-
new FOP serializer samples, accessible from the "blocks with samples" page (BD)
-
Fixed NPE if ESQL does not get a connection (TC) Thanks to John R. Daily. Fixes 15820.
-
Fixed SQL injection vulnerability of DatabaseAuthenticatorAction (TC) Thanks to Geoff Howard. Fixes 14286.
-
ESQL "Auto" support for sybase ASE. New database detection method. (TC) Thanks to Neil Bacon. Fixes 18547.
-
Removing dependency from the Cocoon core to JTidy. (CZ)
-
Sync XML:DB source with 2.0 branch: Conect to the XML:DB once, from the XMLDBSourceFactory. (VG) Fixes 18683.
Contributors
This is a list of all people who have contributed to this release, but were not full developers on the project. We thank these people for their contributions.
- Bart Guijt
- Ciro Mondueri
- Geoff Howard
- Joerg Heinicke
- John R. Daily
- Michael Homeijer
- Tony Collen
- Torsten Knodt
Version 2.1-M1 (April 29 2003)
-
TextSerializer now can handle absence of root element in the incoming XML. (VG) Fixes 10242.
-
'handle-errors' sections in the sitemap now do not have an implicit generator: any generator can now be used, whereas previously it was implied and produced an XML representation of the error).
To ensure backwards compatibility, 'handle-errors' sections can have a 'type' attribute to continue the implicit-generator behaviour, but are now to be considered as deprecated.
A new ExceptionSelector is also available to drive the error-handling pipeline constuction depending on the error type. (SW) -
EsqlConnection no longer implements java.sql.Connection. No jvm dependency any more. (TC)
-
Refactored SitemapConfigurable. A sitemap configurable component can now be ThreadSafe and has access to the sitemap configuration at any time through a SitemapConfigurationHolder. (CZ)
-
Correcting method names of new CacheableProcessingComponent interface. It is now possible to write components that support the 2.0.x and the 2.1.x caching algorithm. (CZ)
-
Setting minimum JDK version from 1.2 to 1.3. (CZ)
-
Updating to the latest official Avalon and Excalibur releases. (CZ)
-
Enhancements to the CLI to reduce the number of times it needs to render a page. Using the option to prevent checking of extensions, it is now possible to generate a site generating each page only once. Allow the configuration of the CLI using an xconf file. Switch cli to using the Jakarta Commons CLI package. (NKB) Thanks to Upayavira. Fixes 17671.
-
Added support for the LogFactor5 graphical log event browser. (MC)
-
XMLFileModule: rename 'cachable' to 'cacheable' in configation. (JT)
-
FOP serializer's <user-config> relative path now resolves relative to sitemap's directory. All Cocoon URIs are supported too. (VG)
-
The CVS repository for Cocoon 2.1 is now called "cocoon-2.1" (no branches, just HEAD). (PF)
-
Added support for Pervasive db to ESQL. (TC)
-
Changed category for Log logicsheets. (SMS) Thanks to Leszek Gawron. Fixes 16695.
-
Extended the HTMLGenerator so that it can handle HTML snippets provided as request parameter or as POST data, passing them through Tidy to ensure well-formedness. (GR)
-
New caching cinclude transformer. The cinclude transformer can now cache the aggregated content for a distinct period of time. In addition it can fetch the content in parallel or pre-emptive. (CZ)
-
The repository for Cocoon 2.1 is now called "cocoon-2-historical" (the old "xml-cocoon2" repository is deprecated). (PF)
-
The "javadocs" build target now links offline to the appropriate JavaDOC repositiories available on the web. (PF)
-
Added proxy generator block for remote HTTP-base generation of XML (will deprecate the WSProxyGenerator). (PF)
-
Added subrequest processing via the sitemap to the Cocoon flow. (PF)
-
Moved the asciiart stuff from the scratchpad into a block. (SM)
-
Moved the SendmailAction and the mail-related stuff from the scratchpad into the mail block. (SM)
-
Removed the MaybeUploadRequestFactory since we have our own and the less dependencies the better (SM)
-
Moving core properties of the build system into a separate properties file. (CZ)
-
The "expires" pipeline parameter is honored even by the internal Cocoon cache, i.e. the caching algorithms are overridden if an expires parameter is present and still fresh. (GR)
-
Set "Last-Modified" header (TC) Fixes 15401.
-
Fixed the ResourceExistAction to return null instead of EMPTYMAP on not existing resources. (TC) Thanks to Alfred Nathaniel. Fixes 17324.
-
Refactored the build system. (SM)
-
Put the exceptions into esql namespace so the variable named "e" is still available in XSP. (TC) Fixes 17261.
-
Now i18n transformer has support for multiple catalogues and can now use "input modules" in catalogue name and catalogue location. Fixed bug with getting content for the translation key in certain circumstances. Fixed bug with accidental removal of translation text in certain circumstances. (DC) Thanks to Bruno Dumon. Fixes 17127.
-
Optional 'global' parameter on map:redirect-to when giving a URI. (PAR)
-
Make getParentComponentManager in CocoonServlet protected so alternate methods to getting the parent CM can be used. (PAR)
-
Optional "depth" attribute on the cocoon log format to control how deep to go in stacktrace reporting. (PAR)
-
Do not specify a default to the "class-loader" parameter in JavaLanguage (PAR)
-
Add a NonStaticClassLoaderManager that does not keep internal static variables. Useful when putting cocoon.jar outside the WEB-INF/lib directory and have multiple XSP pages of the same name in multiple webapps (PAR)
-
Improve default exception handling behavior in CocoonServlet: show exception stacktrace only when log level is INFO or DEBUG, and add exception message to "Not Found" page. (VG) Fixes 16267.
-
Use Environment.tryResetResponse() instead of HttpServletResponse.reset() in CocoonServlet to avoid IllegalStateException if response was already committed. (VG) Fixes 16264.
-
Add support for Collection objects to the CastorTransformer. Upgrade to the SAX2 API, improve logging, and use SourceResolver to load mappings. (VG) Thanks to Michael Homeijer. Fixes 11861.
-
Refactor Main class into two classes, Main and CocoonBean. CocoonBean provides simple programmatic interface to the Cocoon. (VG) Thanks to Upayavira. Fixes 15748.
-
Add image dimensions to the ImageReader's cache key. (VG) Thanks to Upayavira. Fixes 16490.
-
modular.DatabaseActions: added ability to store FileParts from uploads to "ascii", "clob", "blob", and "binary" columns. Added getSize() method to FilePart. (CH) Thanks to Geoff Howard.
-
SAP R/3 connectivity components added. (CH) Thanks to Michael Gerzabek. Fixes 9075.
-
Moved block samples to own category, modified build system to merge .xsample files to block-samples.xml. (CH)
-
Renaming components section for pipeline implementations to "pipes" and "pipe". (CZ)
-
Updated to latest versions of excalibur sourceresolve and xmlutil. (CZ)
-
Patch IOUtils to recognize '..' in Path (SMS) Thanks to Michael Enke. Fixes 14700.
-
The "mime-type" attribute on <map:read> and <map:serialize> is now expanded if it contains sitemap variables. (SW)
-
InputModule to access XMLForm instances. (CH)
-
(modular) DatabaseAction: added ability to use arbitrary path separators instead of "." (e.g. "/"), added ability to count rows from 1, added documentation. (CH)
-
Created additional isolation level for some OutputModules. (CH)
-
Added LinkRewriterTransformer. (CH) Thanks to Jeff Turner. Fixes 15611.
-
Added support for expiring continuations. (OP) Thanks to Michael Melhem.
-
Fixed the way complex Java objects are passed from the control flow to the XSP view layer. (OP) Thanks to Ugo Cei.
-
Added ant-contrib library with some optional ant tasks and started cleaning up the build system. (CZ)
-
ZipArchiveSerializer now accepts inline content for entries of the zip archive and not only source URLs. (SW)
-
ImageReader extends now ResourceReader and therefor the "expire-time" parameter is now "expires". Also removed the setting of the byte range header for on-the-fly images. (did not support it anyway) (TC)
-
Moved the byte range support from the ByteRangeReader in scratchpad into the ResourceReader. Added the optional parameters "buffer-size" and "byte-range". Byte range support is enable by default. (TC)
-
Move the image inspection into a ImageUtils class (TC)
-
Major cleanup of the ImageDirectoryGenerator, removed the RuntimeExceptions, added support for the JPEG comment marker (TC)
-
Added reader user documentation section, including readers documentation; added BrowserSelector, and HostSelector documentation, plus template-selector usable as template for writing more selector docs; added WildcardURIMatcher, and WildcardHeaderMatcher, plus template-matcher usable as template for writing more matcher docs. (BH)
-
Fixed the esql:more-results tag for non-JDBC limit methods (TC) Thanks to Antonio Gallardo.
-
Moved all classes marked @deprecated to the src/deprecated directory. Since Many classes are still a dependency for the core, while this is fixed the build process still copies them with the core during compilation. To compile with the deprecation separation, do "build -Ddeprecate=true". (NKB)
-
Moved code to new blocks: profiler, velocity. (NKB)
-
Update XML Serializer, HTML Serializer , and Text Serializer documentation, added XHTML Serializer documentation in the serializer user documentation section. (BH)
-
Update SVG Serializer, SVG JPEG, and SVG PNG documentation, added SVG TIFF documentation in the serializer user documentation section. (BH)
-
XMLFileModule checks result of SitemapSource.getValidity() as it may return null (BH) Thanks to Jeff Turner. Fixes 15609.
-
Integrated the validation targets into the build ("validate-config" and "validate-xdocs") also still available at the command-line. Validation happens automatically unless you switch it off. See document XML Validation Facilities. (DC)
-
Postgresql 7.3: LIMIT x,y no longer supported. Added new class for postgresql-old limit method that still uses LIMIT x,y while postgresql uses the LIMIT x OFFSET y syntax which has been used by postgresql for some time now. (CH) Thanks to Michael Enke. Fixes 15064.
-
Created .src/deprecated directory to contain all deprecated classes. This will help in maintaining Cocoon free from deprecated classes. Started by moving some deprecated caching stuff. (NKB)
-
Moved code to new blocks: html, php, lucene, bsf (NKB)
-
Now module.xml is named project.info.xml (NKB)
-
Extension to sendmail.xsp: lists for sendmail:cc (CH) Thanks to Frank Ridderbusch. Fixes 15005.
-
Added container/form-encoding init-params to web.xml (CH) Thanks to Artur Bialecki. Fixes 14835.
-
Fixing various inefficient logging calls. (CH) Thanks to Stuart Roebuck. Fixes 15136.
-
Make all "meta" modules ThreadSafe (CH)
-
Perform correct source resolution in XMLResourceBundle. Now i18n transformer can obtain dictionaries using any supported source (e.g. 'cocoon:/'). (KP) Thanks to Michael Gerzabek. Fixes 15431.
-
Added Greek translation, thanks to Stavros Kounis (gounis.at.osmosis.gr). Corrected Armenian translation to be real Unicode and be readable without additional plug-ins (on Win). (KP)
-
Updated the XML:DB Source. Now it will accept, in cocoon.xconf, optional authentication attributes, called "user" and "password". (GR)
-
New transformer extracts fragments to documents and stores them using an OutputModule. Tags that start fragment are configurable. (CH)
-
New output module puts everything in a map in a request attribute. (CH)
-
AbstractJXPathModule / JXPathMetaModule default to lenient mode i.e. do not throw an exception on unsupported attributes but return null instead. Made this a configuration option. (CH)
-
XMLMetaModule returns DocumentWrapper instead of String. (CH)
-
Wrapper for org.w3c.dom.Document that implements XMLizable and provides a useful toString() method. (CH)
-
SimpleMappingMetaModule: added feature to remove a prefix / suffix. (CH)
-
"meta" input modules: configuring a different module locally did not override the default one in all circumstances. (CH)
-
input.xml: renaming mixed up called template names from logicsheet-util.xsl (CH)
-
SimpleFormTransfomer: fixed error tags when no validation data available. (CH)
-
Moved the sample classes and confs to the samples block. (NKB)
-
Cleaned up the esql logicsheet and helper classes. Created classes for db specific stuff. Improved the limit/paging features. (TC)
-
Moved the jsp components to the jsp block, using hand-made-to-be-cleaned mock objects for the weblogic specific imports. Had also to move some definitions from the cocoon roles and xconf file. This moving of the blocks is indeed cleaning the core! :-) (NKB)
-
Updated block build system to compile and use mock objects in the "mocks" subdir of the blocks if present. (NKB)
-
New InputModule to access contents of an XMLFile using JXPath, based on patch from Jeff Turner (jefft.at.apache.org). (CH)
-
Moved endorsed libs in ./lib/endorsed, so that they can be added in the build file easily as java jvm args, or in the future copied to the webserver or Java endorsed dir. Currently it enables Jetty to run easily in 1.4 JVMs without need to copy libs to the endorsed dir. (NKB)
-
Added jetty webserver for fast and easy Cocoon test and evaluation. To run launch "build run" and point the browser to http://localhost:8888/ Since it seems there is a bug somewhere, ATM point to http://localhost:8888/documentation/index.html to see the page. (NKB)
-
Removed ./tools/build-i.xml and moved the interactive targets in main build. Removed ./tools/build-s.xml and removed all references to scratchpad builds (not used). (NKB)
-
Removed JTidyTask that was not used and switched to using the Ant input task from UserInputTask. (NKB)
-
Added useexternalfile="yes" attribute makes Ant collect all package names in a temporary file and give that to Javadoc, thus going round the Wintel long command truncation issue. (NKB) Fixes 14795.
-
Moved LDAPTransformer to a block called "naming". (NKB)
-
New build target "validate-schematron" to conduct build-time validation (currently only the sitemaps) using RELAX NG grammars with embedded Schematron rules. This uses Schematron stylesheets from Rick Jelliffe and Academia Sinica Computing Center, Taiwan. (DC) Thanks to Colin Paul Adams. Fixes 14581.
-
Enhanced the RELAX NG grammar for sitemap.xmap files and added embedded Schematron rules. (DC) Thanks to Colin Paul Adams.
-
Fix setOutputStream throwing IOExeption in XMLSerializer, and TextSerializer. (BH)
-
Make the CLI report errors correctly to the screen when a page generation fails. (NKB)
-
Moved POI to a block. Applied patch without moving the core elementprocessor classes in the block. (NKB) Thanks to Philipp Schmidt. Fixes 12975.
-
When a part of a pipeline aggregation fails, cocoon will no more silently return without reporting an error. Now, upon request of an erroneous page, the result is that I can see all parts, that have been processed so far on the screen and I see the error infos positioned at the bottom of the page. (NKB) Thanks to Hussayn Dabbous.
-
Added 'query' sitemap parameter to SearchTransformer. Added configuration parameters to SimpleLuceneXMLIndexerImpl for choosing the content-view and which tags you want stored as fields by the indexer. Added field storage implementation to LuceneIndexContentHandler. (JQ)
-
New build target "validate-xdocs" to conduct build-time validation of core xml documentation (call it manually with: ./build.sh validate-xdocs). (DC)
-
Added SystemPropertyModule input module to enable environment variables in sitemap attributes. E.g.: <map:transform src="{system-property:user.home}/style.xsl"> (KP)
-
Added resource bundle component interfaces to allow different implementations to be used for i18n. (KP)
-
Extended implementation of i18n transformer to allow markup in translations, inline translations (conditional processing) and named parameters. Now i18n transformer is cachable, this will affect on dynamic markup, e.g. i18n:date-time. WARN: The namespace of i18n markup is changed to "http://apache.org/cocoon/i18n/2.1". i18n samples are updated to demonstrate the new features. (KP) Thanks to Matthieu Sozeau.
-
XMLForm Howto to reflect the fact that there is no need for manual handling of unchecked check-boxes. (IAI)
-
Updated Xalan to 2.4.1 (IAI)
-
Renamed the AbstractMethodAction into AbstractMultiAction and moved it from scratchpad into the maintrunk. Using it helps reducing the amount of custom actions for a webapp. (TC)
-
Added RELAX NG grammar for sitemap.xmap files and removed old draft sitemap DTD. (DC) Thanks to Colin Paul Adams.
-
Started moving database related stuff (actions, transformers, readers) as well as HSQLDB to a new blocks. Samples have not yet moved to new block, datasource declaration has. (CH)
-
Updated the draft DTD for sitemap. (DC) Thanks to Colin Paul Adams.
-
Added a draft W3C XML Schema for sitemap. (KP)
-
Removed deprecated notification classes in org.apache.cocoon.* and in org.apache.cocoon.sitemap.* and the deprecated methods in org.apache.cocoon.components.notification.Notifier. (NKB)
-
Added support for sitemap variable anchors {#name:variable}. This introduces a new "name" attribute for matchers and actions (TC)
-
Added support for direct access of root level sitemap variables {/1} (TC)
-
New pipeline hint attribute to allow pipeline components (i.e. map:generate, map:transform and map:serialize) to hold some pipeline-specific parameters. The first usage of this feature is to drive manual cache points for the CachingPointProcessingPipeline. (SW) Thanks to Michael Melhem. Fixes 12780.
-
Removed all references to Loggable in favor of LogEnabled (this includes references to common abstract classes as AbstractLoggable and AbstractDualLogEnabled) (GP)
-
Added support for using Avalon components as Axis service objects with the AxisRPCReader. (MC)
-
Enhancing cinclude transformer with configuration possiblities, lie POST requests and flexible parameter handling. (CZ)
-
Enabled the RTF serializer and SWF serializer as block. (SMS) Thanks to Philipp Schmidt. Fixes 12799.
-
Enabled the chaperon text parser as block. (SMS)
-
Added initial support for compilation of Cocoon blocks, and migrated Fop and Batik classes and configuration to the src/blocks dir. Blocks that need Avalon components not yet supported. (NKB)
-
Added support for Avalon Excalibur instrumentation. (MC)
-
Added CascadingIOException to wrap other exceptions when an IOException is thrown. (CZ)
-
Added configurable buffering of the output. This removes all the problems with error handler and already committed responses etc. A new pipeline parameter "outputBufferSize" controlls the behaviour. (CZ)
-
Added AxisRPCReader to scratchpad. This reader essentially allows you to serve SOAP requests from your Cocoon application. Sample webapp with status page is also included. (MC) Fixes 12304.
-
Updated Jakarta Commons HTTP client jar. Fixes problems with SOAP XSP taglib. (MC) Fixes 12236.
-
Added new ComposerReader class with various Reader refactorings. (MC) Fixes 12122.
-
Don't explicitly redirect to the cocoon:/ pipeline in AbstractInterpreter.forwardTo(), do it instead in system.js. (OP) Thanks to Ramy Mamdouh.
-
Fixed code generation problem in the jpath.xsl. Patch from. (OP) Thanks to Per-Olof Noren.
-
New user login and preferences sample to show the control flow layer. (OP)
-
The control flow layer can now save the global JavaScript scope in the servlet session object. This allows the value of global variables to be saved between different top-level function invocations. (OP)
-
Profiler components extended to store intermediate SAX fragments, and also the some informations about the environment, thanks to Bruno Dumon. (SMS)
-
Made Commandline Cocoon (Main.java) verbose output (-V option) less cluttered and grouped the log and output methods. (NKB)
-
Commandline Cocoon (Main.java) now doesn't stop anymore on broken links, but inserts an error page instead and correctly notifies it in the broken links file if requested. (NKB)
-
Add the methods 'copy', 'move' and 'delete' to the WriteableSource interface. (SMS)
-
Added the Chaperon components, examples and docs into the main tree. (SMS)
-
Replaced implementation from Loggable by LogEnabled to use the Avalon Logger instead of the LogKit Logger. (SMS)
-
Moved the SWF generator and serializer from the scratchpad into the main trunk. Added a hello-world sample for SWF (TC)
-
Added a new PDF serializer. iText seems to be good and fast alternative with many features iText also provides support for RTF and HTML (TC)
-
Updated xerces, xalan, xml-apis jars to their latest CVS versions. Especially due to some xerces bugs in the 2.0 release (TC)
-
Made docs target use logging to file via the logkit.xconf and added informative System.out messages for the commandline cocoon (Main.java). (NKB)
-
Allow parent component manager to be LogEnabled. (CZ) Thanks to Leo Sutic.
-
Extended pipeline handling for CachingPoint caching algorithm. (CZ) Thanks to Michael Melhem. Fixes 10284.
-
New samples for HSSF Serializer. (NKB) Thanks to Andrew C. Oliver.
-
This adds get-bigdecimal to ESQL (see java.math.BigDecimal for details as to why you need BigDecimals). (NKB) Thanks to Andrew C. Oliver. Fixes 8058.
-
The SQL Transformer does those nastly looking exponents for large values. By calling "getBigDecimal()" instead of getObject we can call an overridden toString and avoid those nasty things. (NKB) Thanks to Andrew C. Oliver. Fixes 8056.
-
Python language support for the XSP pages. (VG)
-
Python programming language using jython interpreter. (VG)
-
New SwitchSelector that uses a common context object for all map:when tests. (SW) Thanks to Marcus Crafter.
-
Fixed the use of roles in TraxTransformer which was incorrect. Now it sets the factory explicitly in the XSLTProcessor component without using any special avalon component management capacity. (SM)
-
Uniformed the configurations used by the Avalon XSLTProcessor component and the TraxTransformer to specify the TransformationFactory to use. (SM)
-
Applied patch to add javascript support for the mozilla browser for transforming xml to html. (SMS) Thanks to Andrew Timberlake. Fixes 9521.
-
The OASIS Catalog and the entities (DTDs, entity sets, etc.) have moved to WEB-INF/entities and the CatalogManager.properties file has moved to WEB-INF/classes (CZ)
-
New Cocoon Generator. Allows Embedding One Web Site in Another. WebServiceProxyGenerator Demo. (IAI)
-
XMLForm framework. Allows client independent form handling. (IAI)
-
Added "userhomes" in the webapp, that automounts the sitemaps found in *nix user homes. To remove it, just delete the dir. (NKB) Thanks to Tim Myers.
-
Added support for actions and In-/OutputModules to the JavaScript Flow. Caveat: Modifications of the Redirector object are ignored. (CH)
-
Support for writing xLOBs to database through modular.DatabaseActions. Does not include a required InputModule that returns a JDBCxlobHelper to be passed to the action. (CH)
-
New DatabaseAction: DatabaseQueryAction. It works like the other modular DatabaseActions but does not auto-generate the query. The query has to be provided conforming to PreparedStatement syntax. Unlike the name might suggest, it can be a select, update, or delete query. (CH)
-
Updated SourceWritingTransformer. Changed the tag set so that source:write and source:insert each share the same way of taking parameters. Added results from source:insert tag like source:write. Changed the implementation of the source:write tag so it now buffers to DOM Fragment like source:insert. Added new tests, updated slash-edit to use new tags. (JQ)
-
Removed (long time deprecated) matcher and selector factories. Use appropriate matchers and selectors instead. (VG)
-
Updated the profiler code, removed the need of SAXConnectors. (CZ)
-
Encourage people to help with the refactoring of Cocoon samples. Provide a refactoring guidelines document. (DC)
-
Moved the old sample for Catalog Entity Resolver in to the new webapp/samples structure. Added new sample for Simplified DocBook DTDs configuration. Added section for other miscellaneous samples. (DC)
-
Moved linkstatus sample and LinkStatusGenerator to core from scratchpad; added a link to test the documentation links on the Cocoon demo webapp frontpage. (NKB)
-
ESQL: Added support for reading BLOBs from database. (CH) Thanks to Roger I Martin PhD.
-
DatabaseActions, changed behaviour: Tables are used in order of appearance in tableset, before they were used in order of appearance in tables section. (CH)
-
Removed XT XSLT transformer. (VG)
-
Added custom component configuration to map:pipelines section. (CZ)
-
Added global parameters to map:pipelines section. (CZ)
-
Changed modules to use objectModel instead of just the request object. (CH)
-
Modular database actions now don't inherit from original database actions anymore. Some custom datatypes got lost during this process as they should be handled be specialized input modules instead. (CH)
-
Replaced event pipeline and stream pipeline with one single component, the processing pipeline. Added configurable pipelines to sitemap. (CZ)
-
Added an "expires" directive to map:pipeline in order to manually set an "Expires:" HTTP header following Apache's mod_expires syntax. (GR)
-
Modified check-jars.xsl to dynamically create the jars.xml for documentation. Need to copy the generated file over the static placeholder... Help - where to in the build.xml? (JM)
-
ResourceReader gets the mime type from the source now, instead of declaring the mime type in the sitemap. (GF) Thanks to Stephan Michels.
-
Moved mod-db stuff from scratchpad to trunk. (CH)
-
Util logicsheet: get-source and include-source tags. E.g. to include XHTML generated by another pipeline as email. (CH)
-
Esql: multiple results can now have different result blocks, position determines matching result position. Last one is default if more results arrive. call-results now evaluated after other results to comply with JDBC specs. (CH)
-
Added Jakarta Slide Source components and examples in scratchpad. (NKB) Thanks to Stephan Michels.
-
Added continuations-based control flow support to Cocoon. It is currently based on a modified Rhino JavaScript implementation with continuations support, courtesy of Christopher Oliver: ftp://ftp.primaryinterface.com/pub/rhino. (OP)
-
Added size attribute and sorting to directory-generator. (JM) Thanks to Frank Ridderbusch. Fixes 8531.
-
Changed error behaviour in esql: all exceptions now result in error-results being evaluated. If error-results is present, exceptions are caught, otherwise a processing exception is thrown. (CH)
-
Complete rewrite of grouping code in esql (footer still not supported), group-on available through esql:param (CH)
-
Esql fix for get-columns with PostgreSQL and getObject not working with all datatypes (CH)
-
CLOB support in esql logicsheet, esp. in get-xml (CH)
-
changed the LanguageException and the JavaLanguage to expose more than just the compilation error. Now it also shows the actual code from the repository +/- a few lines around that error. (TC)
-
restructured the ProgramGenerator and added option "watchSource" (true/false). If turned on you can make changes inside the generated source code (inside the repository) and the ProgramGenerator will compile them for you. This eases XSP debugging a lot! Turned off (same behaviour as before) by default. (TC)
-
Fixed esql getBytes() behaviour (TC)
-
Integrated the new Avalon Excalibur Store and StoreJanitor components. This deprecates the Cocoon version. (CZ)
-
Added formula support for HSSF Serializer. (GF) Thanks to Andy Oliver.
-
Integrated the new Avalon Excalibur XSLT Processor. This deprecates the Cocoon version. (CZ)
-
Locale selection for I18nTransformer changed to use parameter set from sitemap. The old behavior (implicit locale selection using LocaleAction) is not supported any more. i18n samples are refactored, redesigned, new translations are added. (KP)
-
Integrated the new Avalon Excalibur Source Resolving architecture. This deprecates the now obsolete Cocoon source resolving. Wrapper classes etc. have been provided for an easy upgrading. In addition the Excalibur XMLizer is added. (CZ)
-
Added the sunShine contribution from S&N AG, Germany (http://www.s-und-n.de). This contribution consists of a session management framework, an authentication framework and a portal engine. (CZ)
-
Changed default persistence store to the JispFilesystemStore. To switch back to FilesystemStore, remove jisp.jar and rebuild Cocoon (or simply edit cocoon.xconf) (VG) Fixes 10697.
-
RequestGenerator does optionally output request parameters. (CZ) Thanks to Ilya A. Kriveshko.
-
Output extra locator info if included Throwable of ProcessingException is SAXParseException or TransformerException. (BH)
-
FIX NPE in org.apache.cocoon.components.pipeline.impl.AbstractCachingProcessingPipeline, if content is malformed, and there exists an cached response the validity[] contains null entries. (BH)
-
Fix CocoonCrawlerImpl, check if contentType is not null, and always close the BufferedReader at the end. (BH) Thanks to M. Kristian.
-
Added JXPath based input modules for Request and Session properties. Demonstration sample is also added. RequestContextPathModule and RequestURIModules are obsolete now and will be removed. (KP)
-
Updated the Jisp store system to the new Jisp version and added the missing clear() and keys() methods. (GF)
-
Added a more sophisticated example in samples/webserviceproxy/cocoonhive. Demonstrates a small virtual portal which embeds functionality from Amazon and OpenWiki. (IAI)
-
XMLFormTransformer now saves a list of referenced model properties, which is later used to automatically populate with default values properties which were not addressed in the http request (like unchecked checkboxes). This applies to session scope forms only. (IAI)
-
The resource reader now checks if for the same URI the same source is read in order to test the if-last-modified header. This behaviour can be turned of (for more performance) by the quick-modified-test. (CZ) Fixes 12915.
Contributors
This is a list of all people who have contributed to this release, but were not full developers on the project. We thank these people for their contributions.
- Andrew C. Oliver
- Andrew Timberlake
- Andy Oliver
- Artur Bialecki
- Bruno Dumon
- Colin Paul Adams
- Frank Ridderbusch
- Hussayn Dabbous
- Ilya A. Kriveshko
- Jeff Turner
- Leo Sutic
- M. Kristian
- Marcus Crafter
- Matthieu Sozeau
- Michael Melhem
- Per-Olof Noren
- Ramy Mamdouh
- Roger I Martin PhD
- Stephan Michels
- Stuart Roebuck
- Tim Myers
- Ugo Cei
- Upayavira
Committers
This is a list of all people who have been voted in as committers on this project.
- Donald Ball (DB)
- Nicola Ken Barozzi (NKB)
- Ross Burton (RB)
- Mark Butler (MB)
- Ugo Cei (UC)
- Tony Collen (ATC)
- Marcus Crafter (MC)
- David Crossley (DC)
- Torsten Curdt (TC)
- Bertrand Delacrétaz (BD)
- Bruno Dumon (BRD)
- Daniel Fagerstrom (DF)
- Gerhard Froehlich (GF)
- Pierpaolo Fumagalli (PF)
- Antonio Gallardo (AG)
- Leszek Gawron (LG)
- Ralph Goers (RG)
- Vadim Gritsenko (VG)
- Christian Haul (CH)
- Jörg Heinicke (JH)
- Jorg Heymans (JHS)
- Unico Hommes (UH)
- Geoff Howard (GH)
- Bernhard Huber (BH)
- Ivelin Atanasoff Ivanov (IAI)
- Matthew Langham (BL)
- Berin Loritsch (BL)
- Stefano Mazzocchi (SM)
- Michael Melhem (MM)
- Stephan Michels (SMS)
- John Morrison (JM)
- Alfred Nathaniel (AN)
- Steven Noels (SN)
- Christopher Oliver (CO)
- Giacomo Pati (GP)
- Max Pfingsthorn (MPF)
- Konstantin Piroumian (KP)
- Marc Portier (MPO)
- Ovidiu Predescu (OP)
- Jean-Baptiste Quenot (JBQ)
- Jeremy Quinn (JQ)
- Reinhard Pötz (RP)
- Gianugo Rabellino (GR)
- Ricardo Rocha (RR)
- Peter Royal (PAR)
- Paul Russell (PR)
- Andrew Savory (AS)
- Diana Shannon (DS)
- Davanum Srinivas (DM)
- Jeff Turner (JT)
- Upayavira (UV)
- Sylvain Wallez (SW)
- Carsten Ziegeler (CZ)
- Volunteer needed (open)