Apache Cocoon 2.1.10 Released ----------------------------- The Apache Cocoon Community is proud to announce the new release of Apache Cocoon.
Apache Cocoon is a web development framework built around the concept of separation of concerns (that is: allowing people to do their job without having to step on each other toes) and component-oriented web RAD. The latest version is downloadable from http://cocoon.apache.org/mirror.cgi (Please use the mirrors to download the release - it might take a little bit more time until the latest release is available on all mirrors, so give the mirrors some time - approx. 24h to update.) This release includes many bug fixes and smaller enhancements. For more information about Apache Cocoon 2.1.10, please go to http://cocoon.apache.org. You'll find the whole list of changes at http://cocoon.apache.org/2.1/changes.html. The Apache Cocoon Project -- Carsten Ziegeler - Chief Architect http://www.s-und-n.de http://www.osoco.org/weblogs/rael/
Changes with Apache Cocoon 2.1.10 *) Core: Allow dynamic loading of JavaScript objects even when scope is locked. [JH] *) CForms: Always set viewData for flow script functions (if it's not available set it to null). [CZ] *) Javaflow OJB Sample: Fix "No method 'showEmployee' found". [CZ] *) The JavaFlow OJB sample overwrote the first entry on insert instead of adding a new entry. This has been fixed. [CZ] *) Core: Removed the buggy WildhardHelper. Use the new improved WildcardMatcherHelper. [CZ] *) Profiler block: Add statistics component. [CZ] *) Databases block: Add support for iBatis to use configured Excalibur data sources in iBatis. [CZ] *) CForms: The filterfield widget was not defined for the forms manager. [AS] *) CForms: Numeric based suggestion list should initialzate to the corresponding suggested text. [AG] *) Updated Rhino (Javascript engine) to version 1.6R5. This version is licensed under MPL, while previous versions were licensed under NPL, which was a problem since software licensed under NPL cannot be included in Apache products. The new version should be compatible with the previous version, though it does not support the constructs "catch (continue|break|return)" which were available in Cocoon's Rhino fork. [BRD] *) Updated xercesImpl to 2.9.0 and xml-apis to 1.3.04. [AG] *) Ajax: upload progress bar widget. A new dojo widget to display file upload progress for forms (and cforms). Ajax-enabled cforms can now submit file-upload fields in the background. New system pipelines for Blocks (/_cocoon/system/[blockname]/**). Sitemaps can now call flowscripts written in a static namespaced style. Added JSON Serialization utilities for flowscript. You can now get i18n translations from Stings in flowscript. [JQ] *) Core: Add ability to pre-load i18n catalogues in I18nTransformer. Removed references to defunct cache-on-startup configuration. [VG] *) CForms: Added @whitespace attribute to fd:field widget, to control how leading and trailing whitespace characters are handled when reading submitted values. Accepted values are: "trim" (default), "trim-start", "trim-end", and "preserve". [JJ] *) Mail: Improve MailSender interface: added setBody(Object), setBodyURL methods, deprecated setCharset, setBody(String), setBodyFromSrc, setBodyFromSrcMimeType methods. Support byte[], InputStream as body and attachment objects. [VG] *) Mail: Log exceptions from mail attachments - JavaMail does not preserve cause exception. [VG] *) Lucene: Add analyzer parameter to SearchGenerator as stated by the docs. [JH] *) Databases: Added support for the SQL:XML tag in SQLTransformer. [AG] *) Validation: Replaced references to constant declarations in javax.xml.XMLConstants, which are not in the official API. [JH] *) CForms: Tree widget not handling on-selection-change events correctly. [AG] *) XSP: SOAPHelper does no longer accept only replies with an XML declaration. [JH] *) Updated commons-lang to 2.2 and bsf to 2.4.0. [AG] *) CForms: Add a name attribute to a booleanfield in output mode to make it easily accessible in JavaScript. [JH] *) CForms: BeanConvertor uses a WeakHashMap in the wrong way. [AG] *) AJAX: Fix cocoon suggest sample. [AG] *) Deprecate method org.apache.cocoon.components.flow.FlowHelper.unwrap(Object). This method will be removed in 2.2 release. Use org.apache.cocoon.components.flow.util.PipelineUtil.unwrap(Object) instead. [AG] *) XSP: Use namespace-uri and not the namespace-prefix to select parameters in logicsheet-util.xsl. [JH] *) Databases: Check for null LOBs. [VG] *) JXTemplate: Fix an ArrrayIndexOutOfBoundsException with jx:comment. [JH] *) Apply patch to handle malformed recipient address exception correctly. [AS] *) CForms: Apply patch to disambiguate toSAX method call. [VG] *) Core: Move BackgroundEnvironment from Cron block into the Core. [VG] *) Core: i18n transformer was loosing whitespaces in i18n:text, i18n:translate, i18n:param elements if they had mixed content. [VG] *) CForms: In AbstractWidgetDefinitionBuilder, methods "setValidators", "setCreateListeners", and "setCommonProperties" now have visibility "protected" instead of "private" [JBQ] *) Core: Rewrite of WildcardMatcherHelper where the heavy-lifting is left to the regexp library. That fixes a false positive where "menu/foo/bar.xml" was matched by "menu/*.xml" in the old implementation. The new code also removes the over-greedyness of '**' that "**/*/*" can now be matched successfully. [AN] *) Updated xercesImpl to 2.8.1. [AG] *) CForms: FormManager now caches form definitions created from Source or URI. [VG] *) Core: Off-by-1 bug in WildcardMatcher found pattern matches which were not there. [AN] *) Core: '**' in complex WildcardMatcher pattern did not match an empty pathstep. [AN] *) XSP block: Using document('') in logicsheet caused NPE. [AN] *) CForms: Repeater identity binding was failing on save if widget path was given. [VG] *) CForms: Inherit fb:on-delete-row, fb:on-insert-row, fb:identity repeater bindings from the parent. Fix detection of 'simple' mode. [VG] *) ZipArchiveSerializer: Set time stamp of ZIP entries to last modification time of source file. [AN] *) Updated ehcache to 1.2.2. [AG] *) XSP block: Add example for on-the-fly generation of ZIP file. [AN] *) XSP block: Suppress xmlns:xsp namespace declaration on XSP generated root element. [AN] *) Repository: Add CachingSource source implementation (from trunk). [VG] *) ImageOp: Send info/debug messages to the log rather than System.out.println [JJ] *) Core: CopySourceAction generate NPE. [AG] *) CForms: Removed debug logging left in AggregateFieldDefinitionBuilder.java. [AG] *) CForms: Reverting incompatible change introduced in version 2.1.9. When binding a widget with value null, XML elements are no more deleted. The behaviour is now the same as in version 2.1.8. [MPO] *) CForms: Tiny typo in JavaScriptJXPathBinding. [AG] *) CForms: HTMLArea unable to set target and title to a "link". [AG] *) CForms: Form locale never used in JXMacros. [AG] *) Core: EHDefaultStore returns in the size() method the wrong number of keys. [AG] *) CForms block: JavaClassValidatorBuilder supports Configurable validator implementations. New AbstractJavaValidator implementation supports generation of customized fail messages. [CZ] *) Core: ZipArchiveSerializer causes "Too many open files" exception. [AG] *) Browser selector should have Opera before MSIE. [AG] *) Lucene Block: Allow LuceneIndexTransformer to index large documents (with more than 10k terms). [AG] *) XML-DB Block: XMLDBTransformer blows up Saxon. [AG] *) Switched to the new WildcardMatcherHelper for all wildcard matching which is a rewrite of the WildcardHelper. [GP] *) Updated quartz to 1.5.2. [AG] *) EHDefaultStore: Allow users to configure disk-persistent parameter. In earlier cocoon versions this ehcache parameter was always true. It defines whether or not the disk store persists between restarts of the Virtual Machine. The default value is true. [AG] *) The predefined variables "parameters" and "cocoon.parameters" now both point to the parameters object in JXTemplateGenerator and the template block. (cocoon.parameters did point to a properties object). [CZ] *) HSQLDB Block: Workaround for HSQLDB improper shutdown in SAP NetWeaver. [AG] *) CForms Block: RepeaterJXPathBinding - order of row is inverted. [AG] *) Naming Block: Check for Null URI in LDAPTransformer. [AG] *) Add the CoWarp contribution by Carsten Ziegeler from the Osoco open source project (http://osoco.sourceforge.net/cowarp/). [CZ] *) Deprecate session-fw and authentication-fw block. These blocks will be removed in further releases. [CZ] *) Databases: Read CLOBs using getCharacterStream, delegate character decoding to the database. Revert to old behavior if clob-encoding parameter is present. [VG] *) Portal Block: Add support for input modules in start uri for application coplet. [CZ] *) Databases: Support multiple results in SQLTransformer. [VG] *) Databases: Fix NPE in SQLTransformer in error handling code. [VG] *) Databases: Support CLOBs in SQLTransformer when returned as stored procedure parameters, or as columns in a cursor returned by stored procedure. [VG] *) Databases: Fix reading of the CLOBs in SQLTransformer. [VG] *) CForms Block: Add multiple repeater drag & drop dojo sample. [AG] *) Set instrumentation manager on child component managers to enable instrumentation of all components including sitemap components. [CZ] *) Updated dojo to 20060614. [AG] *) Fix bug in wildcard matcher where a uri containing a pattern twice did not always match. For example, the uri "hallo.xml.xml" did not match "*.xml". [CZ] *) CForms: Using setRequired in Ajax mode does not generate bu:replace. [AG] *) AJAX Block: Error popup window not resizable/scrollable. [AG] *) CForms: Load and save model phase events are now send. [CZ] *) CForms: Output widget does not initialize from <fd:initial-value>. [AG] *) Template block: NullPointerException. [AG] *) XIncludeTransformer: XInclude transformer does not handle fallback correctly. [AG] *) ResourceReader fails to add HTTP headers. [AG] *) XMLFileModule: file-specific configuration ignored. [AG] *) HTTPRequest: Redundant copying between container and form encoding. [AG] *) Error decommissioning component: org.apache.cocoon.components.store.impl.EHDefaultStore. [AG] *) exception2html.xslt: <script /> causes IE display problem. [AG] *) Tour block: SVG samples now use the correct SVG 1.1 namespace. [BD] *) RequestGenerator: Add remoteUser() information. [AG] *) XIncludeTransformer: xi:fallback fail when use parse="text". [AG] *) XInclude transformer uses href fragment rather than xpointer attribute (spec conformance). The XInclude 1.0 spec (see http://www.w3.org/TR/xinclude/#include_element) states the following about the href attribute: 'Fragment identifiers must not be used; their appearance is a fatal error.' Cocoon's XIncludeTransformer incorrectly allows xpointer fragments to be specified using a fragment identifier in the href attribute. The correct way to support xpointers is the 'xpointer' attribute on xi:include, which the transformer does not currently recognize. [AG] *) Cocoon htmlunit testcases are now compatible with htmlunit 1.8. [AG] *) Updated xmlunit to 1.0 and junit to 3.8.2. [AG] *) Added calculated fields implementation. [SG] *) Updated XReporter expressions to latest version (see http://issues.cocoondev.org/browse/XRP-113 ). [SG] *) CForms: Java event listeners can now implement Configurable, LogEnabled, and Contextualizable. [CZ] *) CForms: added a Repeater.moveRow2(from, to) method, which in contrast to the Repeater.moveRow method inserts the row at the exact to-index specified. [BRD] *) FOP block depends on XSP block (for samples) [BD] *) Portal: PageLabels can now be configured to be part of the url. [RG] *) Made the pool-max values in the html block's generators externally configurable. Made sitemap reloading externally configurable. Made pipeline amd encodeURLTransformer pool-max values externally configurable. [RG] *) CForms/Ajax: when the Ajax-update contained an empty textarea, IE failed to parse this correctly, displaying '</span></div>' in the textarea. Fixed by adding an explicit closing tag for textareas. [BRD] *) CForms: widgets in unions lost their value when switching between union cases. [BRD] *) Updated axis to 1.4 and commons-collections to 3.2. [AG] *) Added a lightweight FOM_SimpleCocoon class, and placed it in the javascript scope when there isn't already a scope defined. This way, even when using javaflow, you have access to the cocoon object (with request etc..) from javascript snippets in definition. [SG] *) Added CSS classes in cocoon forms default XSLs. [SG] *) Updated ehcache to 1.2. [AG] *) The JDK 1.4 version of the EncodeURLTransformer did not work properly as it was not matching just the beginning of the string as the Jakarta-regexp version does. The transformer was corrected to only match the beginning of the string. In 2.1.9 this error can be circumvented by configuring the transformer and adding "*" to the end of each pattern. [RG] *) As with all the AbstractTextSerializer based serializers, the XHTMLSerializer should handle the omit-xml-declaration to not put the XML declaration as first line of the serialized document. This prevents many rendering problems in Internet Explorer. Default behaviour is to send the xml declaration as before. [AS] *) Commandline interface: the user-agent is now correctly set in the request headers (and not in the request parameters). [CZ] *) RandomNumberModule: does not returns random number in the range (min,max) as expected. [AG] *) Performance Issue/JavaScriptFlowScript: If <reload-scripts> is set to false, don't check for last modification time of javascript source files. [AG] *) XSP block: Fix regression introduced in 2.1.8 that under specific circumstances logicsheets were not applied, leading to compilation errors. This manifested itself only if a) two XSPs referred to the same custom logicsheet by a relative location path, b) the custom logicsheet used another logicsheet, and c) the built-in logicsheet's namespace was not mentioned in xsp:page. The compilation errors occurred always when calling the second XSP for the first time. Fix also race condition which could lead to similar XSP compilation errors under high load when accessing the same logicsheet for the first time. [AN] *) Template block: Make the template block usable with JDK 1.3+ and enable it by default. [CZ] *) CForms: Fix inplace editing samples [JBQ] *) CForms: Add id, state and listening attributes to the transformed form-template element (jx macros and forms transformer). [CZ] *) XSP block: Use private methods to call start/endElement in xsp.xsl. That generates smaller bytecode allowing to compiler larger XSPs before hitting the 64k limit for the size of the generate() method. [AN] *) Forms block: modified ProcessingPhase to add a PROCESSING_INITIALIZE phase instead of the spurious double READ_FROM_REQUEST_VALUE sent before. Made a ProcessingPhaseListener configurable from form definition with on-processing-phase and adapted the JavaScript widget listener to support processing phase events. [SG] *) Forms block: added repeater events. Repeater now sends row added, deleted etc.. events. The listener can be added in definition with an on-repeater-modified element. Added support for these events in JavaScript listener. [SG] *) Passing the default locale while parsing initial-value on a form if no locale attribute was specified. [SG]
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]